<SEC-DOCUMENT>0000352825-23-000057.txt : 20230510
<SEC-HEADER>0000352825-23-000057.hdr.sgml : 20230510
<ACCEPTANCE-DATETIME>20230510123106
ACCESSION NUMBER:		0000352825-23-000057
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		82
CONFORMED PERIOD OF REPORT:	20230331
FILED AS OF DATE:		20230510
DATE AS OF CHANGE:		20230510

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			FOSTER L B CO
		CENTRAL INDEX KEY:			0000352825
		STANDARD INDUSTRIAL CLASSIFICATION:	WHOLESALE-METALS SERVICE CENTERS & OFFICES [5051]
		IRS NUMBER:				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:		23905289

	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-20230331.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2023 Workiva--><!--r:e6b60733-307a-4608-a609-e78ae7aaa679,g:27e4db7c-fd2f-4e9e-b8f9-b24e60302288,d:8985b0fd6dd644ef84855313196ba4d5--><html xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:srt="http://fasb.org/srt/2022" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:fstr="http://www.lbfoster.com/20230331" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>fstr-20230331</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:AmendmentFlag" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV8yLTEtMS0xLTEyNTkzMw_24027f0b-899d-45d4-b366-7818e398fe21">false</ix:nonNumeric><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV8zLTEtMS0xLTEyNTkzMw_d4f60a5e-02ee-4896-bce3-13acbec77025">2023</ix:nonNumeric><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV80LTEtMS0xLTEyNTkzMw_7188894c-4168-4c3a-9351-57954a6e20d8">Q1</ix:nonNumeric><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV81LTEtMS0xLTEyNTkzMw_fcb49b8c-9020-4e52-8433-54b7b6da6090">0000352825</ix:nonNumeric><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:CurrentFiscalYearEndDate" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV82LTEtMS0xLTEyNTkzMw_d17c50da-39cf-4090-9e98-9abee30dc3f8">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="ief32642424144d36965f51c37266b30c_I20230331" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80Ni9mcmFnOmJjNzBhOTYzOTdmYTRkODY4YjRhMjM3MzhlZDkyOWQ4L3RhYmxlOmI2ZjVhZGZhZmUyZTQxZGFiNDNmZmE0ZmIwZDE1NDE0L3RhYmxlcmFuZ2U6YjZmNWFkZmFmZTJlNDFkYWI0M2ZmYTRmYjBkMTU0MTRfMS0xLTEtMS0xMjU5MzM_28814060-80ab-425c-b48a-2013f8c0a889">1</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="fstr-20230331.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia48d8b28de4c458aaf7df4a174fc2a37_I20230502"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-05-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="id6663316f78349588622c6997f0c313e_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="i614256ff21d143ff9161299913689012_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5e2140f4daba486faa961667018e6901_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia194bc89639f47f087d63938eb52302b_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i722a0b4fd96245ab9a5604f944559543_I20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2500da59067a4a39b175006cce527670_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i73613682dc7148d180fcdbb711b61711_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i806368a7b9384d6aae47d8eac0727052_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id038c49e070045bf9c9722abeda72b57_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i961f0b3610b84340a168dae3831dfe56_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie4a52661715f4f7f8ea5742e9f5f1ade_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i693c761b19954f1cb0fb796dd1a58dbd_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i71d552ee7d204d159090fc1ae4650a84_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i41fc9a80ff23446c8cd8f3935f99d238_I20230331"><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-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaa8244821b5443efa2770dada15b74bf_I20230331"><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-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i19118010f43f497abbc8c4c6f49e9324_I20230331"><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-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i784641f6bf9e48b2a8605839ca99b29b_I20230331"><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-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3025a2879a5543c3843d37b5b12f7460_I20230331"><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-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3f5e6b29ee4a4b99932730d73fe80ccb_I20230331"><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-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i20291ebd1c474492a38ece518d3edd7b_I20211231"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifef8a7457d994496a3dd1a5b94413286_I20211231"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic35f62d81548427dbfb19a135ab0bb48_I20211231"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i92606788db2049e49d231fe0f32ef4ac_I20211231"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i45c2efb2119a4fa98912837554524cee_I20211231"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib951f8feda1146c0b0ff1996dd008323_I20211231"><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>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i44278c22cf334863abf4d50d14f3fa0a_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i68fce446d71446f887705cfa272b6413_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i40166a9b46b0464ba05c103dcea4226a_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i932d61a8e49c4eb98a731af3aa6c5823_I20220331"><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>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i47c5b14b2d134db0a9cc1a28bc5befc5_I20220331"><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>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2774810522164dfb8adb02292441ae3c_I20220331"><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>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i77e7d99f2c70481ea4117b1377cb7e63_I20220331"><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>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7b89bd49df8149138a911d6a8363885c_I20220331"><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>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic25c2d702acf4eddb55bfc483e4d52b8_I20220331"><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>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331"><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:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331"><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:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i63ee87255a134aabb66a281410efd393_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iad9aa66948aa427d8733b61886370a14_I20230331"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i77148bffd1ea4576b1b6e887e23424bc_I20221231"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5986c6e926704a0ba31da1ad5ecc5c3f_I20230331"><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:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3afa9c615a3142e1a8a7c8dff349f77a_I20221231"><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:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i09cd8128a9504543a004d58ccfda78e4_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6aeed06cd3b04bd490e7b53b07a716b9_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia0cf33c60ff748a5bbc634597665f4fe_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6284dcf0a94a48c99cee07ee2561a00d_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:ChemtecEnergyServicesLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-30</xbrli:startDate><xbrli:endDate>2023-03-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib94c3af616a84d688d59809b47cda372_D20230101-20230331"><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="srt:ProductOrServiceAxis">fstr:RailProductsAndFrictionManagementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia19cda2506014897802590110f2d12fd_D20220101-20220331"><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="srt:ProductOrServiceAxis">fstr:RailProductsAndFrictionManagementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i79937a4eb83c438c8d6f0c11e3340123_D20230101-20230331"><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="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1237302f3f4a45e9a3821bf180c0ef4d_D20220101-20220331"><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="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i960a969405844740a78873698dd0f09b_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i02800169134b4ec0a44706d408b19b03_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:PrecastConcreteBuildingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i62ce50a3f4b043a28e1a023c5703dd2f_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:PrecastConcreteBuildingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7540d8806fd749128acf5902a0be579f_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:OtherPrecastConcreteProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id54de3a85e05410d9c0e8951baf9e018_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:OtherPrecastConcreteProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3c55b66d69de4416888b170a4fd95d33_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:FabricatedSteelProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i947da1668daa4cdc899b0ee88de8941d_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:FabricatedSteelProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib92ed0acb0fb41d2aac66ead59e99158_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:CoatingsAndMeasurementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iceba75f290ed4f58b02e3257b2ac1210_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:CoatingsAndMeasurementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icd1e825cbfff461daf46fce9ae8bc863_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i06d0c940c4a841e590927db26c2be641_D20230101-20230331"><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><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6e1d58aa46dc45e0a65e59e6ae15bb2d_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia76ad66a0e9b4464be835910057fe869_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0621169fa7d6423094498cf4ae9d93e0_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iae36f7c70f8541ad986de03cddc33c54_D20230101-20230331"><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><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1fc7b50db6154316add0343bae356a81_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i89be361d231e4d7dbbde73db2b522641_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iacb73dd5aa4d483089b98c8ec12c3e48_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i333358b784b84c89a82799025e8651ad_D20220101-20220331"><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><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia1abd8ec82d141f7ab9b9f4ca5367855_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iea0603a402c942d697a8ec7716ff1a79_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4d9f8e472d5c4ae886d5f24587d6a79c_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0c6d856d1b3b4557b24fe95643741d99_D20220101-20220331"><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><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i67978491d5c14be1ae5b27de44babdfc_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i840a9b2ccb4d4b989784d89055559faf_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i03021627e1314018906c28d49517d677_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="i6818ad645a3143f382643610e175fa1a_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ief32642424144d36965f51c37266b30c_I20230331"><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>2023-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9d1963d8f99f4c88bdc3b1ffcb15a81d_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib982b325025147d8937e9c42e08beada_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic48ec56bf9ea48849e90aee9dab15592_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icb921d9a7bc04c09adbfa0e15199ca24_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic0620249071b4026a5bb6680dad2d666_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i80e024ba38d24d678c483b9b75733d8b_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iac8139cc0acb40c5b3fb2886ae2ec15e_D20230101-20230331"><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:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4e359afd1af14febad47fadba2ac3194_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id3d5112c26a34b6f9b8d7bd74f403358_D20230101-20230331"><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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i251e12ea961741bb926c8abd8f8bfd16_D20230101-20230331"><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:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if61b03d68ac84182ac693fc961957d3a_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1e320e688e0b4df39bf87960b68d58b4_D20230101-20230331"><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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7f017986cffe44aa813259ea5df1fa93_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i078ed6f96c474800a1c57166f75718db_D20230101-20230331"><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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5fd770d28c82409c94bb16312fef49b0_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2841959fd84a4b48b32f0cb84989b6de_D20230101-20230331"><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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i942ff27f7b874755bfb4f3c628384984_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i17d8aae57327493eb914b7095d2a49cc_D20220101-20221231"><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:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7b5ded240cd54584a0edb9037849fc5c_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i17b4d5dfd5ba4d36971bf6a5b718294c_D20220101-20221231"><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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia8040277b6404366936bf09a061070e8_D20220101-20221231"><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:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i464ff039fc88406d808d104214c145c3_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7a6a48d68fcd41c7adb286c806f8c565_D20220101-20221231"><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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i14547eea555841b682acff4b937b4814_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6ff42532b9ad488691876c7faca08a00_D20220101-20221231"><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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia192fe5493fb461788270535d4bb2e57_D20220101-20221231"><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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id97e4a3602394c758c8cb04049b42bfa_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if2b81add6d61480eb72836ee31510df6_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ice04d81f07234651b69d44a0cd7cab27_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id1ee7d2f61844c62906cd9688b062537_D20210813-20210813"><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:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-13</xbrli:startDate><xbrli:endDate>2021-08-13</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0d4fc034211c401baeabdf76b2a17083_I20210813"><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:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4cc8eae28bc84027955c7169814b3709_D20210813-20210813"><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:DebtInstrumentAxis">fstr:PriorCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-13</xbrli:startDate><xbrli:endDate>2021-08-13</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5cad199d02584d47ba947b483e0c5e33_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="covenant"><xbrli:measure>fstr:covenant</xbrli:measure></xbrli:unit><xbrli:context id="iec946c377c0f4c5db11cfaa6335f6a6a_I20210813"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0656019163c8485b830309ab3dedde3d_I20210813"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i23eb32e78fb84b219632afb41e17c9b1_I20210813"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id0a992b75b7e481f8bd6f04e94c9df5f_I20220812"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-08-12</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie5924391378a4b42afddf688f200d930_I20230331"><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:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ieeccf59c4d014c0f9e6a4516f735c154_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic4d5d2dce02f4d9980504110fc5589ca_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifabcba39527245f1bba3fda32a7b2c1e_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib5db3a3c79d94af3be08dd365100beb8_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i31d5bc270ba642a3bcfeae8665897c82_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3054a345d5fc4baeb4f71cc2da4fc7ef_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5912913655b04663a88c211af18eab5f_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i73845e2921ae4bbbb49b64bf6906cfd1_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic1c82693c60f4c23b3e9d8a4006cf4fb_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1ddb3375b8c34e8d9fc1ceb1a32c1e78_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1fc16b9c4dfd49ffb6d93d0601eb035d_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331"><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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib568587e419145de9b541b247ee12e38_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie5ddf6053f394068a0ee439574d279d0_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifd149e76690146fa8aee324769f1fc61_I20221231"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6491aaeade364f539409a05361d2685e_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia5ebb139ce8e4e77b16ffb1cf78f6195_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5a07a79a93c94edbabc309d9ec9ace8e_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="plan"><xbrli:measure>fstr:plan</xbrli:measure></xbrli:unit><xbrli:context id="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8f48b19afaf0482797a80675aac94512_I20230331"><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:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i03aaeb010a994532b372833fdbda117a_I20230331"><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:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if37f45c29c0947b7be845886c8bee4ec_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8b23aea0f1804af6bc31cee106d39ff2_D20220101-20220331"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6ccdd48888be4d76b22f81276d84307c_I20190313"><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:instant>2019-03-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2901e860fe3b44048e366c92e31ac929_D20190313-20190313"><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="i88a60ef531c44caeb3094fe0a0f1d324_I20190313"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:UprrMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9efa7996f27a4a84b08c787505291a52_I20210930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000352825</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:UprrMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if9631e06a9af44149a25f259886981f3_I20170605"><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:unit id="company"><xbrli:measure>fstr:company</xbrli:measure></xbrli:unit><xbrli:unit id="potentially_responsible_party"><xbrli:measure>fstr:potentially_responsible_party</xbrli:measure></xbrli:unit><xbrli:context id="i29c0c6abf606419989d3a89721acf83e_I20200326"><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><xbrli:unit id="party"><xbrli:measure>fstr:party</xbrli:measure></xbrli:unit><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841" linkRole="http://www.xbrl.org/2003/role/link" toRefs="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232" order="1"></ix:relationship></ix:resources></ix:header></div><div id="i8985b0fd6dd644ef84855313196ba4d5_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',sans-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',sans-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',sans-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',sans-serif;font-size:18pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV84MA_821d3e7a-b16e-4fd5-9be9-c531c19edb68">10-Q</ix:nonNumeric></span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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><td style="width:4.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.345%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:DocumentQuarterlyReport" format="ixt:fixed-true" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Yjc2OWI4NGQwMjM2NDJjNmFiYTRkZTA4MmNmOTdhOGEvdGFibGVyYW5nZTpiNzY5Yjg0ZDAyMzY0MmM2YWJhNGRlMDgyY2Y5N2E4YV8wLTAtMS0xLTEyNTkzMw_d32f8f58-22c4-4f0e-b530-847ed014b4a5">&#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',sans-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',sans-serif;font-size:10pt;font-weight:700;line-height:120%">for the quarterly period ended <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xMjc_93e09dff-7f5c-4a7b-a1e8-4a8dc9b2c43b">March 31, 2023</ix:nonNumeric></span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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><td style="width:4.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.345%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:DocumentTransitionReport" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6ZTkyYWJhMTk0ZjM1NDllM2FhNGE0MjhlZGU0NzYxMWIvdGFibGVyYW5nZTplOTJhYmExOTRmMzU0OWUzYWE0YTQyOGVkZTQ3NjExYl8wLTAtMS0xLTEyNTkzMw_8df6cfa0-238b-4abb-98dc-c04ee2d80ac4">&#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',sans-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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> to </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Commission File Number: <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU4_b1496758-8c9c-416c-8f11-61389db8704b">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><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td></tr><tr style="height:42pt"><td colspan="15" style="border-top:1pt solid #000000;padding:0 1pt"><div style="text-align:center"><img src="fstr-20230331_g1.gif" alt="lbflogo.gif" style="height:42px;margin-bottom:5pt;vertical-align:text-bottom;width:250px"/></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',sans-serif;font-size:24pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YjhkNzA5ZGE1ZmVlNDU5ZDgwZWI3MWI4NmM1ZDRjNjQvdGFibGVyYW5nZTpiOGQ3MDlkYTVmZWU0NTlkODBlYjcxYjg2YzVkNGM2NF8xLTAtMS0xLTEyNTkzMw_cc40b686-f7dd-491c-ae86-a76d0f1da411">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',sans-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><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td></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><td style="width:45.787%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.783%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:44.130%"></td><td style="width:0.1%"></td></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',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Zjg4MmZjZjE1ZWFmNDBlOWI0OWViYjk3ZjZkZDhlYjIvdGFibGVyYW5nZTpmODgyZmNmMTVlYWY0MGU5YjQ5ZWJiOTdmNmRkOGViMl8wLTAtMS0xLTEyNTkzMw_f4963750-c591-4bf6-8d3c-7209fb48bb81">Pennsylvania</ix:nonNumeric></span></div></td><td colspan="3" style="padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Zjg4MmZjZjE1ZWFmNDBlOWI0OWViYjk3ZjZkZDhlYjIvdGFibGVyYW5nZTpmODgyZmNmMTVlYWY0MGU5YjQ5ZWJiOTdmNmRkOGViMl8wLTItMS0xLTEyNTkzMw_011c98a5-d468-49d7-973c-a70dd3e8ce93">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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(State of Incorporation)</span></td><td colspan="3" style="padding:0 1pt"></td><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',sans-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><td style="width:45.983%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.816%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.901%"></td><td style="width:0.1%"></td></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',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzQ_5420bb7c-28b9-4d6a-a3c7-bf2d0769f02e">415 Holiday Drive</ix:nonNumeric>, <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityAddressAddressLine2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1Xzg_ea74f5b9-1a72-4971-9997-d6dccd181c93">Suite 100</ix:nonNumeric>, <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzEy_0f649b16-4d18-4d3d-bd08-5b4fa603a09b">Pittsburgh</ix:nonNumeric>, <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzE2_c6a134ed-2335-4300-912e-7248e2eafe80">Pennsylvania</ix:nonNumeric></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTItMS0xLTEyNTkzMw_98ae3146-25f2-4b78-bf70-6973a4d42bc3">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',sans-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><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODUz_958ce3b5-f48e-4ff7-8e25-3af53f25b9bf">412</ix:nonNumeric>) <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU0_3b46686b-8d64-49a2-a5b8-94e3084bfc30">928-3400</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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><td style="width:35.438%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.349%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:24.586%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.349%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:35.578%"></td><td style="width:0.1%"></td></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Title of each class</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Trading Symbol(s)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTAtMS0xLTEyNTkzMw_73c1ab6b-0d4b-4c1a-b33e-044c0dbba049">Common Stock, par value $0.01</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTItMS0xLTEyNTkzMw_15d6a814-9125-4628-8773-10ecfe8d336e">FSTR</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTQtMS0xLTEyNTkzMw_090dcf7a-46cd-4dbf-9a38-ea20448a624f">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',sans-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="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU1_d24b10c9-b0c1-41d9-bc43-59c8486f8a70">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',sans-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="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU2_9dd13df6-6eb6-4df3-a240-e568057472ee">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',sans-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><td style="width:25.844%"></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:31.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.011%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.651%"></td><td style="width:0.1%"></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',sans-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><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:2pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8wLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmE5YTE1NWM0ODBkNDQzM2RiNmRjMDEwOTYzZWJmNTQ1XzU_4f698bf4-5f30-4ed1-bad4-3ac7d0d11d4c">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',sans-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><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:2pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntitySmallBusiness" format="ixt:fixed-true" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8xLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmJjZDJhNWRlYjVlNzQ0YzNiMDk5YTk4NGE4Y2IzNTc4XzMx_744cdf61-0c49-4df6-9f28-324ff4125128">&#9746;</ix:nonNumeric></span></div></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 colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Emerging&#160;growth&#160;company <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityEmergingGrowthCompany" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8yLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmNhNThmNDAwNDJiZjQ5OGNhNjc1ZjQ2OTc2NmFlYzc5XzI4_6bab6f49-419b-4f06-854a-77f20dbf1ee8">&#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',sans-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',sans-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',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="dei:EntityShellCompany" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xNzQ1_a5856408-c96d-40e0-95c4-eea9fb98bb6a">&#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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of May&#160;2, 2023, there were <ix:nonFraction unitRef="shares" contextRef="ia48d8b28de4c458aaf7df4a174fc2a37_I20230502" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xNzcw_08b7e481-f8f2-4632-8072-327030b50f35">11,085,149</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="i8985b0fd6dd644ef84855313196ba4d5_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',sans-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',sans-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',sans-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><td style="width:83.066%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.734%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_10">PART I. Financial Information</a></span></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_13">Item 1. Financial Statements:</a></span></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_16">3</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:36pt;padding-right:-90pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_19">4</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:36pt;padding-right:-126pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_22">Condensed Consolidated Statements of Comprehensive Loss</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_22">5</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:36pt;padding-right:-162pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_25">6</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_28">7</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:36pt;padding-right:-198pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_31">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_31">8</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-216pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_88">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_88">17</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-234pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_91">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_91">23</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-252pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_94">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_94">23</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-right:-252pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_97">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_97">23</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-270pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_100">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_100">24</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-288pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_103">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_103">24</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-306pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_106">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_106">24</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_109">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_109">24</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-324pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_112">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_112">24</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_115">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_115">24</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-342pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_118">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_118">25</a></span></div></td></tr><tr style="height:15pt"><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:top"><div style="padding-left:18pt;padding-right:-360pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_121">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_121">26</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Part I. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">FINANCIAL INFORMATION</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_13"></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> Item&#160;1. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Financial Statements</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_16"></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Unaudited)</span></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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ASSETS</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNC0yLTEtMS0xMjU5MzM_a2f1926c-3f21-4e86-91fe-9b129014d721">2,639</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNC00LTEtMS0xMjU5MzM_70976c36-95a7-4dd1-9835-71d66042fa7b">2,882</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:AccountsNotesAndLoansReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNS0yLTEtMS0xMjU5MzM_7168137c-8165-4376-84d3-c1b28e372430">54,904</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:AccountsNotesAndLoansReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNS00LTEtMS0xMjU5MzM_943e72b0-7d05-4e29-b43f-b3f42fd24a9c">82,455</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNi0yLTEtMS0xMjU5MzM_04b078b1-9972-4948-96d5-cac03f99b7aa">31,207</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNi00LTEtMS0xMjU5MzM_c8dafd06-86d1-4c59-905a-3f99eb09430f">33,613</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNy0yLTEtMS0xMjU5MzM_ea433497-c144-4010-bbf0-4b33f237dbfc">84,594</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNy00LTEtMS0xMjU5MzM_25706b01-c55e-40ba-8d98-057b9e95b98e">75,721</ix:nonFraction>&#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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:OtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTAtMi0xLTEtMTI1OTMz_4e0e9ac7-2ea4-44e3-8db2-7995e8234af6">11,844</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:OtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTAtNC0xLTEtMTI1OTMz_16b16ebb-b431-46e5-9cdd-57f88020cc98">11,061</ix:nonFraction>&#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></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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTItMi0xLTEtMTI1OTMz_96b641b1-4a40-4de7-a094-247473ef7b65">185,188</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTItNC0xLTEtMTI1OTMz_aa6c32ed-e56f-4c30-a716-eb3bd985a23a">205,732</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></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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTMtMi0xLTEtMTI1OTMz_490ba03d-9cb3-47c4-97fc-b06e6af206ba">78,960</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTMtNC0xLTEtMTI1OTMz_89f39062-6434-46bc-9c2b-7acdff08b948">85,344</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTQtMi0xLTEtMTI1OTMz_58b168ba-1a37-4e29-a12e-0351a384b044">16,513</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTQtNC0xLTEtMTI1OTMz_57e936e3-911b-4d76-ac7e-d43faf9c49a4">17,291</ix:nonFraction>&#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',sans-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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTYtMi0xLTEtMTI1OTMz_4ec3deba-c0d9-4b52-bfbe-0a439254f2eb">30,863</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTYtNC0xLTEtMTI1OTMz_b0f67fa0-2b6d-4c09-a7de-f72a17069a01">30,733</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTctMi0xLTEtMTI1OTMz_8a88e3fb-e98f-4a3e-978d-8889fb8ccea6">22,549</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTctNC0xLTEtMTI1OTMz_0a8531a7-98ce-4a95-9e47-89c6ac3510b9">23,831</ix:nonFraction>&#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></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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTktMi0xLTEtMTI1OTMz_c01345af-1199-4871-9fb7-3c774c94d180">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTktNC0xLTEtMTI1OTMz_a24b05ab-ca3a-40df-b420-d6a7a9ea77b4">24</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjAtMi0xLTEtMTI1OTMz_148e73b1-91dc-498e-ad33-7f2605f2f9c0">2,305</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjAtNC0xLTEtMTI1OTMz_446ee490-a98b-4e09-bbe5-1f58ea59cb80">2,355</ix:nonFraction>&#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></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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjItMi0xLTEtMTI1OTMz_03a83d6f-8602-44ab-887a-f8c30874f604">336,378</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjItNC0xLTEtMTI1OTMz_1a085371-7b91-4e8a-8d6e-9f8d68799915">365,310</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></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',sans-serif;font-size:10pt;font-weight:700;line-height:100%">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</span></td><td colspan="3" style="background-color:#cceeff;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;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjUtMi0xLTEtMTI1OTMz_d4669801-f7f4-4336-846d-6729ce1d2d63">48,553</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjUtNC0xLTEtMTI1OTMz_5bd9cdc6-9f9b-4aae-9296-d428f0478248">48,782</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjYtMi0xLTEtMTI1OTMz_2e48ad2f-39fb-4af0-ba9e-7b24a56a875d">14,556</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjYtNC0xLTEtMTI1OTMz_2ecd1f76-7f30-4598-8985-695e25da1088">19,452</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjctMi0xLTEtMTI1OTMz_86e81f37-15e1-4090-b711-3b40914426f3">4,176</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjctNC0xLTEtMTI1OTMz_0b249a7d-fd29-4d22-be3f-a5fa989a30d1">10,558</ix:nonFraction>&#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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of accrued settlement (Note 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="fstr:AccruedLegalSettlementCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjktMi0xLTEtMTI1OTMz_70397c11-4fcc-4c73-bc8c-ef9e5eaebb08">8,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="fstr:AccruedLegalSettlementCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjktNC0xLTEtMTI1OTMz_6867b392-0346-41ec-9d68-218b0be7462b">8,000</ix:nonFraction>&#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',sans-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:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzAtMi0xLTEtMTI1OTMz_a3cb8bb4-3bfd-40fa-8723-85be4da9e7e6">117</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzAtNC0xLTEtMTI1OTMz_79ad1dd9-9aa0-4cff-9329-9b022ee3b4a0">127</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzEtMi0xLTEtMTI1OTMz_81cd2ca9-bf29-44b0-95ef-ce3d2f5b6c59">13,100</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzEtNC0xLTEtMTI1OTMz_c7bc2855-994e-454d-b272-d3fce66373fb">16,192</ix:nonFraction>&#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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total current liabilities</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzMtMi0xLTEtMTI1OTMz_73d71222-bd58-4316-b5e4-9b3e57338465">88,502</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzMtNC0xLTEtMTI1OTMz_3b1f0c1d-bf26-4d87-88dd-53111722a318">103,111</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt (Note 7)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzQtMi0xLTEtMTI1OTMz_99822b4c-a007-49c1-ad8a-07d8fc476c90">79,979</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzQtNC0xLTEtMTI1OTMz_804022f6-f442-4fd9-9bf0-44273a50a0de">91,752</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities (Note 9)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzUtMi0xLTEtMTI1OTMz_b49a649b-8f1c-44ae-b7c6-6d671909a905">1,753</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzUtNC0xLTEtMTI1OTMz_2a689d4c-17a2-4bb1-9623-f337294dcf6d">3,109</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term portion of accrued settlement (Note 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="fstr:AccruedLegalSettlementNonCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzYtMi0xLTEtMTI1OTMz_3ebb66d9-9386-4326-b50b-01c719e19e17">8,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="fstr:AccruedLegalSettlementNonCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzYtNC0xLTEtMTI1OTMz_3c93d85a-4c0f-4b32-b7de-aaf9b225a15e">8,000</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzctMi0xLTEtMTI1OTMz_b68686ee-9820-4fb4-a7db-1a12b956aab1">13,416</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzctNC0xLTEtMTI1OTMz_eaef0626-4e7b-4a1b-8884-29daec5fa244">14,163</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzgtMi0xLTEtMTI1OTMz_f3f86b93-4914-487e-964b-0263cf5f8612">7,714</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzgtNC0xLTEtMTI1OTMz_bb93ff88-048b-44e7-89b9-f865bd388782">7,577</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stockholders&#8217; equity:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMjg_450bc6e9-f571-429f-9823-58bebcc43466"><ix:nonFraction unitRef="usdPerShare" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMjg_b96f9ea6-9b66-41c9-bac5-5c8f93ec3bfb">0.01</ix:nonFraction></ix:nonFraction>, authorized <ix:nonFraction unitRef="shares" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfNDM_456f7218-8512-4920-b151-7b1c87338025"><ix:nonFraction unitRef="shares" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfNDM_ccb1063e-d00a-4d6c-ac5a-3286ffc5bc2a">20,000,000</ix:nonFraction></ix:nonFraction> shares; shares issued at March&#160;31, 2023 and December&#160;31, 2022, <ix:nonFraction unitRef="shares" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfODI_2c7325c2-ebda-4950-ad20-f61b87007eb4"><ix:nonFraction unitRef="shares" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfODI_ac8647ce-1fad-4579-a858-9f2d88ec0f64">11,115,779</ix:nonFraction></ix:nonFraction>; shares outstanding at March&#160;31, 2023 and December&#160;31, 2022, <ix:nonFraction unitRef="shares" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMTE5_178557cb-7ec0-4429-bb7c-35b2152c1b91">10,809,711</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMTI2_934c6855-7d41-484d-a09d-6a1cfed683e7">10,776,827</ix:nonFraction>, respectively</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMi0xLTEtMTI1OTMz_f6133f6e-31a8-4311-8e3c-b9d0fc884900">111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtNC0xLTEtMTI1OTMz_5c64032f-453f-484d-a161-3a04be86c0a7">111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDItMi0xLTEtMTI1OTMz_02286a03-72ef-4f0f-a5eb-a60385dc9a2e">40,951</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDItNC0xLTEtMTI1OTMz_b627f570-6940-4a18-85a3-269569cec7c9">41,303</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDMtMi0xLTEtMTI1OTMz_71fa57ca-bcbc-43f8-9e95-c04e5cb5600c">121,017</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDMtNC0xLTEtMTI1OTMz_4b78071d-bb46-4baf-8eef-76ca83954db5">123,169</ix:nonFraction>&#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:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury stock - at cost, <ix:nonFraction unitRef="shares" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="INF" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246MmRhZWU3Yzk5NDVlNGY1NmExYmNjNTYwNGI4N2RjNDNfMzA_7de95022-7925-4c29-97d6-64920fa34069">306,068</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="INF" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246MmRhZWU3Yzk5NDVlNGY1NmExYmNjNTYwNGI4N2RjNDNfMzc_d6171b1c-b1b6-4282-875c-06d159870488">338,952</ix:nonFraction> common stock shares at March&#160;31, 2023 and December&#160;31, 2022, respectively</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:TreasuryStockCommonValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMi0xLTEtMTI1OTMz_ecf52945-feda-489f-93aa-64076e739659">5,174</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:TreasuryStockCommonValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtNC0xLTEtMTI1OTMz_be4a2490-12ae-4c3a-a1fd-aec5ee8f7d92">6,240</ix:nonFraction>)</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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDUtMi0xLTEtMTI1OTMz_d278aa6a-1e71-4f49-9a36-5d70d8d00f0b">20,296</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDUtNC0xLTEtMTI1OTMz_9300daec-5546-40b5-bf2d-780ae47d2c05">21,165</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDYtMi0xLTEtMTI1OTMz_7f5d7d9d-01db-4821-9196-af4ae3be86c3">136,609</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDYtNC0xLTEtMTI1OTMz_347858cd-5d62-47e8-9a41-935107bbb95e">137,178</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></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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:MinorityInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDctMi0xLTEtMTI1OTMz_a1e06d04-0371-4f56-8905-8e5374ff7f29">405</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:MinorityInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDctNC0xLTEtMTI1OTMz_da8e833d-d17f-448b-b86a-952a1cc373cb">420</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></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',sans-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><td colspan="2" style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDgtMi0xLTEtMTI1OTMz_4e850cbc-05b3-4cec-8179-7c724bd8b0e7">137,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"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDgtNC0xLTEtMTI1OTMz_2b8aaf80-971a-47d4-9eb4-c1d920770198">137,598</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDktMi0xLTEtMTI1OTMz_21b67028-90b1-4669-af52-3329ea88fcf3">336,378</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDktNC0xLTEtMTI1OTMz_78469786-606a-4c6a-a84e-92555b06a9d7">365,310</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></tr></table></div><div style="margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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',sans-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:99.166%"><tr><td style="width:1.0%"></td><td style="width:75.090%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.500%"></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:1.0%"></td><td style="width:10.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.500%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.106%"></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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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: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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-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><td colspan="3" style="display: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="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i614256ff21d143ff9161299913689012_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNC02LTEtMS0xMjU5MzM_1edc02a7-bc30-4dc7-9469-7512246b1d34">98,538</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNC04LTEtMS0xMjU5MzM_21da705c-7e8d-4f31-9dd8-ea17a02fa858">84,421</ix:nonFraction>&#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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNS02LTEtMS0xMjU5MzM_eaee29eb-f743-4347-9325-de3ead30bc03">16,950</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5e2140f4daba486faa961667018e6901_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNS04LTEtMS0xMjU5MzM_1056dfec-6e14-4703-aaba-10a7a66a16ec">14,373</ix:nonFraction>&#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',sans-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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNi02LTEtMS0xMjU5MzM_ab33cc88-8612-4b01-b5eb-b2b89d65be2f">115,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNi04LTEtMS0xMjU5MzM_81ae24a3-b774-4739-95ab-46ab28229ffa">98,794</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i614256ff21d143ff9161299913689012_D20230101-20230331" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNy02LTEtMS0xMjU5MzM_0bd6a6d6-fbe9-4dc7-b1f9-04116b3932e3">78,065</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNy04LTEtMS0xMjU5MzM_075a0dfb-cd76-4dc3-9ba6-e285152ae323">69,845</ix:nonFraction>&#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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOC02LTEtMS0xMjU5MzM_3e87d363-a4b5-4a42-957b-04a4ca25ed23">14,132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5e2140f4daba486faa961667018e6901_D20220101-20220331" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOC04LTEtMS0xMjU5MzM_e695ebf4-cc9f-4376-bc6b-1f2d5d2e60c2">12,502</ix:nonFraction>&#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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOS02LTEtMS0xMjU5MzM_467bf55f-0927-4590-9cf4-4839f5d68c3a">92,197</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOS04LTEtMS0xMjU5MzM_ec3a8b08-5365-4311-ab12-930947d97666">82,347</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></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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTAtNi0xLTEtMTI1OTMz_0f31efe5-9870-4bec-b567-5b9aa0682c9a">23,291</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTAtOC0xLTEtMTI1OTMz_96bda7ed-b8c3-4afc-a83a-07f105c085e9">16,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></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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTEtNi0xLTEtMTI1OTMz_2aebe852-9a24-49e8-b03c-f515e3fdf042">21,423</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTEtOC0xLTEtMTI1OTMz_55c7386a-8374-4125-a0ec-849bda1cf6e4">17,298</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></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',sans-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="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTItNi0xLTEtMTI1OTMz_d9145e95-6279-4a65-8f2e-74e288e41d5a">1,365</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTItOC0xLTEtMTI1OTMz_8bfe6797-75a7-49e4-90b4-d062e262e2b2">1,436</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating profit (loss)</span></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="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTMtNi0xLTEtMTI1OTMz_49ce0479-2c82-44f5-88fd-d4b03c81150c">503</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTMtOC0xLTEtMTI1OTMz_23528e3b-0acc-485c-a3b2-10631b69b7cd">2,287</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-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="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTUtNi0xLTEtMTI1OTMz_62043eaa-117d-4b6e-abfe-699148be0e2e">1,388</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:InterestExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTUtOC0xLTEtMTI1OTMz_c63fc8e9-1edb-4ee4-a9e3-c9e7e74e7c3a">370</ix:nonFraction>&#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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other expense (income) - net</span></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="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTgtNi0xLTEtMTI1OTMz_80dc4f28-a641-4fd4-b447-a5eb740392ad">1,827</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTgtOC0xLTEtMTI1OTMz_dc5be114-1f2d-48e7-b710-eb338741e1b6">563</ix:nonFraction>)</span></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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjAtNi0xLTEtMTI1OTMz_eb674a11-8ef4-49d2-8b1f-4ffcc1496484">2,712</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjAtOC0xLTEtMTI1OTMz_c8b2f3ea-8666-4d1f-9f11-db1517e31b62">2,094</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax benefit</span></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="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjEtNi0xLTEtMTI1OTMz_aa750ff4-319e-4cde-b786-ba7195eec3b6">541</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjEtOC0xLTEtMTI1OTMz_4b39de8a-ea94-4487-accb-07b6f410ecef">508</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjItNi0xLTEtMTI1OTMz_10f22834-a386-475f-ac05-a0cff44391f6">2,171</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjItOC0xLTEtMTI1OTMz_39bb19c3-d402-4297-9ed0-38264a6b5bc7">1,586</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></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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjMtNi0xLTEtMTI1OTMz_d343a09e-d99d-48c9-8062-27576b6c0ee4">19</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjMtOC0xLTEtMTI1OTMz_862ad018-4282-46ab-afa5-c86b3b8feed0">20</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to L.B. Foster Company</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjktNi0xLTEtMTI1OTMz_885cb651-ebe1-4fb6-9889-4bd8d719a5af">2,152</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjktOC0xLTEtMTI1OTMz_483fd94d-a404-4aba-9593-42b19baeefdf">1,566</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic loss per common share</span></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="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzMtNi0xLTEtMTI1OTMz_c4e50bb4-bbda-45af-8ba6-00ae25beac12">0.20</ix:nonFraction>)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzMtOC0xLTEtMTI1OTMz_50507e96-5ff9-4a8b-94cb-2af15eb89158">0.15</ix:nonFraction>)</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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted loss per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzctNi0xLTEtMTI1OTMz_688ae7c0-f026-482f-a862-7745a833b6db">0.20</ix:nonFraction>)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzctOC0xLTEtMTI1OTMz_05b9e4b5-c614-4fbc-8ab9-9a020de05dd9">0.15</ix:nonFraction>)</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><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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:99.166%"><tr><td style="width:1.0%"></td><td style="width:75.090%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.500%"></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:1.0%"></td><td style="width:10.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.500%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.106%"></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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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: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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNC02LTEtMS0xMjU5MzM_c63ef15e-be6d-476d-8f57-075b946058df">2,171</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNC04LTEtMS0xMjU5MzM_5023cfa1-a4a4-48ce-ba33-907889ba5a30">1,586</ix:nonFraction>)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income (loss), net of tax:</span></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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td></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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNi02LTEtMS0xMjU5MzM_1db16d3b-a71b-4512-aea7-a23713a4a11c">1,247</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNi04LTEtMS0xMjU5MzM_d74754a6-724d-4b56-905c-e429715b0d92">880</ix:nonFraction>)</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:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized (loss) gain on cash flow hedges, net of tax benefit of $<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowZjlhNmI4YmE1OTg0NjhiYTQwMGIxOTIxNmEzYjMyMF84MA_b83bfc1c-f36f-4382-9adc-11139c6498a4">0</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowZjlhNmI4YmE1OTg0NjhiYTQwMGIxOTIxNmEzYjMyMF84NA_17916940-282f-4661-b8bd-655b16c3c997">188</ix:nonFraction>, respectively</span></div></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="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy02LTEtMS0xMjU5MzM_fd37b2fb-ccda-4580-9a98-579a5e915a43">418</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy04LTEtMS0xMjU5MzM_b9ea9758-33b1-413a-bb2d-2569ade4a78a">551</ix:nonFraction>&#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:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash flow hedges reclassified to earnings, net of tax expense of $<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjo2ZDNiY2ZlNzkxNTY0MWJmODFlNGZjM2IwZjczNzYwZF82OQ_44055c11-41fd-48a0-99fd-d6d4fd415f5a">0</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjo2ZDNiY2ZlNzkxNTY0MWJmODFlNGZjM2IwZjczNzYwZF83Mw_7a125b8f-dba9-48de-8dd2-2b32b0b9c5c6">66</ix:nonFraction>, respectively</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC02LTEtMS0xMjU5MzM_62ea1f2a-1945-47da-8352-c47e1ebc439b">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC04LTEtMS0xMjU5MzM_30df9e27-54f1-49af-83cf-1819daec0aed">93</ix:nonFraction>&#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"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-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="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowYTA3OTllOTg0ZGI0MTM4YWQ5ZjZlMmNkZmExMTEzZV84OQ_b0c0d152-7f53-425e-a060-559d2fcf6dbf">2</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowYTA3OTllOTg0ZGI0MTM4YWQ5ZjZlMmNkZmExMTEzZV8xMDU_8181b15b-247f-48f9-bd0d-9f4ccd3366a6">16</ix:nonFraction>, respectively*</span></div></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="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841">40</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa">49</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total comprehensive loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTAtNi0xLTEtMTI1OTMz_a4406d43-b9e4-4dc8-be49-0d8c3d99fdd8">1,302</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTAtOC0xLTEtMTI1OTMz_13e196c1-9a34-4506-888e-7255c1de9c62">1,773</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less comprehensive (loss) income attributable to noncontrolling interest:</span></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="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="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTItNi0xLTEtMTI1OTMz_17bc74c3-b5c8-4bf5-925a-639d7cd50c1f">19</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTItOC0xLTEtMTI1OTMz_7093195e-f9b9-42c2-88c7-92b1a4e2ba50">20</ix:nonFraction>)</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',sans-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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTMtNi0xLTEtMTI1OTMz_083d80fd-a97b-45d6-835a-4b4e46c3403c">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTMtOC0xLTEtMTI1OTMz_7b3fd98c-64b5-4528-b884-13a5fea8bab0">85</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amounts attributable to noncontrolling interest</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTQtNi0xLTEtMTI1OTMz_cdaf82b0-57ae-4459-81da-fc4d29c5288e">15</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTQtOC0xLTEtMTI1OTMz_9e854887-247e-414c-8b1a-252a15121576">65</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Comprehensive loss attributable to L.B. Foster Company</span></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="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTUtNi0xLTEtMTI1OTMz_c07448ca-3068-40a4-b8c8-3ef609789d97">1,287</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTUtOC0xLTEtMTI1OTMz_66508706-7b7e-4931-85c3-45808c05953f">1,838</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></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',sans-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><td style="width:2.712%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:95.088%"></td><td style="width:0.1%"></td></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',sans-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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"><ix:footnote id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232" footnoteRole="http://www.xbrl.org/2003/role/footnote">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.</ix:footnote></span></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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',sans-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><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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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="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',sans-serif;font-size:10pt;font-weight:700;line-height:100%">CASH FLOWS FROM OPERATING ACTIVITIES:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNS0yLTEtMS0xMjU5MzM_8432b240-7097-4c44-a252-4938f85b1840">2,171</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNS00LTEtMS0xMjU5MzM_281e4d57-236b-4933-9552-a33184ad7c2a">1,586</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to reconcile net loss to cash provided by (used in) operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNy0yLTEtMS0xMjU5MzM_38bebdf0-caca-4683-a3ef-15a19c1086be">1,233</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNy00LTEtMS0xMjU5MzM_c0a57048-ef57-4009-a515-82bb5eebbc06">574</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOC0yLTEtMS0xMjU5MzM_7f83a7af-1220-4bf7-8d5a-473dcc30d8a4">2,505</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOC00LTEtMS0xMjU5MzM_6c273e65-7bf2-41fd-9783-39cdc53f5073">1,938</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOS0yLTEtMS0xMjU5MzM_2400d6d9-3a52-4da8-94a7-00e7aeb4e8d4">1,365</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:AdjustmentForAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOS00LTEtMS0xMjU5MzM_3c1b8de8-f77a-4c1f-ac5a-1434327d9731">1,436</ix:nonFraction>&#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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equity in income of nonconsolidated investments</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="fstr:EquityLossIncomeAndRemeasurementGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTEtMi0xLTEtMTI1OTMz_031835b1-2306-434d-a2b1-2793cc8a62e7">17</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="fstr:EquityLossIncomeAndRemeasurementGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTEtNC0xLTEtMTI1OTMz_60989198-26c6-4cc7-94b7-035a337ac84a">87</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Gain) loss on sales and disposals of property, plant, and equipment</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTItMi0xLTEtMTI1OTMz_b19cef28-d93b-4d36-a023-27f9fe854e1e">14</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTItNC0xLTEtMTI1OTMz_ed9e965d-e98e-459d-b9ca-1523d7651f30">23</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTMtMi0xLTEtMTI1OTMz_f1da0c2e-97fb-41a1-8f41-a3022c10df5e">884</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTMtNC0xLTEtMTI1OTMz_ef6158c3-5bac-4716-90b1-e1e7b23f9782">258</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on asset divestitures</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfBusiness" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTQtMi0xLTEtMTI1OTMz_6208cf6c-0f1c-4686-b6de-7e7d9625e08a">2,033</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:GainLossOnSaleOfBusiness" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTQtNC0xLTEtMTI1OTMz_1bb0bf4f-0a77-4463-be7c-f8a7d638aedb">&#8212;</ix:nonFraction>&#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 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTctMi0xLTEtMTI1OTMz_f01f7e3f-47a6-428a-9024-fce3e4184d73">26,239</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTctNC0xLTEtMTI1OTMz_1a92f70a-e1ff-492c-a746-5d377956f9a4">4,556</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTgtMi0xLTEtMTI1OTMz_95e28656-2e65-4cbc-bb7a-9745f1001bdf">860</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTgtNC0xLTEtMTI1OTMz_4f4d368c-e7d4-4bf2-a8cf-0a5d33397def">1,116</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTktMi0xLTEtMTI1OTMz_e653d332-0260-420f-be85-70874f736316">15,564</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTktNC0xLTEtMTI1OTMz_a46e9d20-06e0-4ae6-9686-4de08d4c01ac">4,781</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjAtMi0xLTEtMTI1OTMz_b879e4ff-01f7-4be6-8395-70f28b8b7846">791</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjAtNC0xLTEtMTI1OTMz_b0510b61-5c94-4305-b91e-1c523ffd0ff2">4,648</ix:nonFraction>)</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></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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjItMi0xLTEtMTI1OTMz_0260d84d-a5e8-445a-8cda-4bd3ed3c5446">1,439</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjItNC0xLTEtMTI1OTMz_c60bb3cc-87a9-4bd5-a30d-62f9cbc064ba">818</ix:nonFraction>&#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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjQtMi0xLTEtMTI1OTMz_c78d60fd-a10f-4f59-9a87-0ce43e5a7eac">4,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjQtNC0xLTEtMTI1OTMz_6a3846d4-4049-4cbd-afaa-e1ecce462c0e">4,680</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjUtMi0xLTEtMTI1OTMz_ccc2ec95-75b5-4891-83e6-868ac17d6578">707</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjUtNC0xLTEtMTI1OTMz_a50281d1-38b9-4c0a-b166-cd786bf2febe">5,907</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjYtMi0xLTEtMTI1OTMz_9ad7d617-6646-4a16-bf20-7153ce44b740">6,386</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjYtNC0xLTEtMTI1OTMz_ffb17cd4-08e0-4161-be05-d49993ab7b3b">4,181</ix:nonFraction>)</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjgtMi0xLTEtMTI1OTMz_6e83d098-5e4e-48f0-836e-eabb46965dd9">2,981</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjgtNC0xLTEtMTI1OTMz_21cf9a6b-6484-423b-82c8-ada12f613b9f">2,377</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjktMi0xLTEtMTI1OTMz_59c1ab25-6285-4cd9-b019-a0afb5874fd7">1,148</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjktNC0xLTEtMTI1OTMz_602a7483-8aeb-496c-9b0a-80cb322de05c">1,022</ix:nonFraction>)</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',sans-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:#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzAtMi0xLTEtMTI1OTMz_0ecee228-ae4f-4b18-bedc-d0d91bbe8cc7">6,932</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzAtNC0xLTEtMTI1OTMz_161fbe8e-7796-4e30-a9ae-deafce257993">7,636</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:700;line-height:100%">CASH FLOWS FROM INVESTING ACTIVITIES:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzMtMi0xLTEtMTI1OTMz_ee37bb3e-4c48-4016-8c0b-f23d1373ca45">16</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzMtNC0xLTEtMTI1OTMz_ece247f7-3b68-4738-bf64-3aed9136e37d">30</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzQtMi0xLTEtMTI1OTMz_b014859d-ef4e-421e-a839-a2ecdb7f85f5">699</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzQtNC0xLTEtMTI1OTMz_444f9b87-5907-4217-82bb-56548b8c543c">1,764</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from business dispositions</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:ProceedsFromDivestitureOfBusinesses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzUtMi0xLTEtMTI1OTMz_12b79a35-b4b9-40b5-89d1-c5043f7e8b58">5,344</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:ProceedsFromDivestitureOfBusinesses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzUtNC0xLTEtMTI1OTMz_97d2589d-31ae-453c-ad2a-58fd133a5112">1,195</ix:nonFraction>&#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 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by (used in) investing activities</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzctMi0xLTEtMTI1OTMz_7f76034b-4849-4728-b8dc-c94686ded4c0">4,661</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzctNC0xLTEtMTI1OTMz_f6ef7114-a62b-472a-a4db-5bc0478d98aa">539</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:700;line-height:100%">CASH FLOWS FROM FINANCING ACTIVITIES:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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 #000;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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:RepaymentsOfOtherLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDAtMi0xLTEtMTI1OTMz_1b682bce-e249-48e1-8e27-6e850d50b3ba">55,133</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:RepaymentsOfOtherLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDAtNC0xLTEtMTI1OTMz_14387d40-ea2b-4a36-bfda-c7ba71544ab4">30,892</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDEtMi0xLTEtMTI1OTMz_98d67cad-49b6-40f7-91d3-81aaa8445ee6">43,086</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDEtNC0xLTEtMTI1OTMz_6f967ce6-7cf0-41ec-a50b-acf91e8daead">35,301</ix:nonFraction>&#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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury stock acquisitions</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDUtMi0xLTEtMTI1OTMz_162ae613-9eed-45f2-9e2c-6996fc5c2b4a">309</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDUtNC0xLTEtMTI1OTMz_9c40ca6f-86d0-40a7-b7dc-3796dfcfb4e3">397</ix:nonFraction>)</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></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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDctMi0xLTEtMTI1OTMz_272d7857-1fde-44e9-aa14-05efe02ed07c">334</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:ProceedsFromMinorityShareholders" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDctNC0xLTEtMTI1OTMz_c53b8680-4ff3-4680-b70a-ce80791e6930">&#8212;</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDgtMi0xLTEtMTI1OTMz_5cab6b6b-7c41-429f-b90b-2e1a0f696d96">12,022</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDgtNC0xLTEtMTI1OTMz_db6c41a5-cb67-435b-8e3e-8b73b6ff674b">4,012</ix:nonFraction>&#160;</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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTAtMi0xLTEtMTI1OTMz_3fe71a95-9b43-403f-9a51-68600af92439">186</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTAtNC0xLTEtMTI1OTMz_d9d9c1f9-d22c-489b-80dc-99cf23c54e14">30</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net decrease in cash and cash equivalents</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTEtMi0xLTEtMTI1OTMz_80b2a001-2f35-4317-a954-6094118c3d64">243</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTEtNC0xLTEtMTI1OTMz_035b680b-8f2a-4212-a9d5-7827adc2fbea">4,133</ix:nonFraction>)</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',sans-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:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTItMi0xLTEtMTI1OTMz_86148c6f-bb4b-48b9-970c-6c20db68f0e4">2,882</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia194bc89639f47f087d63938eb52302b_I20211231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTItNC0xLTEtMTI1OTMz_531b4e09-d142-485a-ab54-ed65fafb25e4">10,372</ix:nonFraction>&#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',sans-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:#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTMtMi0xLTEtMTI1OTMz_1228b826-ffcc-499a-b694-559d56fff33f">2,639</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i722a0b4fd96245ab9a5604f944559543_I20220331" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTMtNC0xLTEtMTI1OTMz_4b8535aa-44fd-4f39-9f04-c641556b25d1">6,239</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Supplemental disclosure of cash flow information:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest paid</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTUtMi0xLTEtMTI1OTMz_8aeecc4d-bb2c-4b43-a393-16c2670362f5">1,425</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:InterestPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTUtNC0xLTEtMTI1OTMz_d547a96d-f19d-40ce-96cc-e15b5a7e0204">369</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income taxes received</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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTYtMi0xLTEtMTI1OTMz_12649fbf-feeb-4f1d-ae7e-6161c2bd9049">1,564</ix:nonFraction>)</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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTYtNC0xLTEtMTI1OTMz_3fe90156-5aee-4232-9d40-3078a7aa54d0">44</ix:nonFraction>)</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display: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:center"><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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',sans-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:100.000%"><tr><td style="width:1.0%"></td><td style="width:17.233%"></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.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.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.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.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.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.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.016%"></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="39" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Common<br/>Stock</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Paid-in<br/>Capital</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Retained<br/>Earnings</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Treasury<br/>Stock</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated Other<br/>Comprehensive Loss</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Noncontrolling<br/>Interest</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',sans-serif;font-size:8pt;font-weight:700;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance, December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2500da59067a4a39b175006cce527670_I20221231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0yLTEtMS0xMjU5MzM_a874c66e-dc1d-41ea-b70e-ff0b0a1abf02">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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73613682dc7148d180fcdbb711b61711_I20221231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi00LTEtMS0xMjU5MzM_634c2b38-d718-4ebc-aeb5-80201f30da40">41,303</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i806368a7b9384d6aae47d8eac0727052_I20221231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi02LTEtMS0xMjU5MzM_0b2072c3-4087-4691-98fe-4c3ae3a27f94">123,169</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id038c49e070045bf9c9722abeda72b57_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi04LTEtMS0xMjU5MzM_7b32f9c9-e112-4f2a-a2e7-9abc0dab7c88">6,240</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i961f0b3610b84340a168dae3831dfe56_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xMC0xLTEtMTI1OTMz_8393ac18-c8a9-4643-87fc-b900bac93d19">21,165</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie4a52661715f4f7f8ea5742e9f5f1ade_I20221231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xMi0xLTEtMTI1OTMz_bfa11829-8775-40cc-98d9-1a39f8ebc6d9">420</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xNC0xLTEtMTI1OTMz_16b1e7e9-973a-4cd1-965e-2e21461d52a0">137,598</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</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',sans-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><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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i693c761b19954f1cb0fb796dd1a58dbd_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC02LTEtMS0xMjU5MzM_8d429331-2938-4777-b40b-adb81076da9d">2,152</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><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',sans-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><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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC0xMi0xLTEtMTI1OTMz_1b4b92c6-78f5-4165-8bc3-73248eb9896c">19</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC0xNC0xLTEtMTI1OTMz_ef306fca-483c-443d-b6a2-30e179ace1a8">2,171</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></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',sans-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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNi0xMC0xLTEtMTI1OTMz_138d5693-ae79-44b1-ae14-453d540d6123">40</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNi0xNC0xLTEtMTI1OTMz_2e651f3a-93a1-47fd-8458-8b3422b202c5">40</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xMC0xLTEtMTI1OTMz_94906c59-8f96-4eb5-adc9-a7e31e9ada0c">1,247</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xMi0xLTEtMTI1OTMz_fa9d50b8-057a-4aca-a0a9-9150f1dd169e">4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xNC0xLTEtMTI1OTMz_c45a0d36-364a-4863-8c54-a813794f0cef">1,251</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfOC0xMC0xLTEtMTI1OTMz_a2664a53-d289-488c-a03d-06baa5c3172e">418</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfOC0xNC0xLTEtMTI1OTMz_83493fc7-f59f-450c-80c3-aefd27aec38f">418</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of <ix:nonFraction unitRef="shares" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246YTNkMmY1NmM5NzVmNDdkMWEwMzYzZmU4NjBmMjBiMTlfMTY_64191002-0bff-402f-973e-c0ddfe278a75">32,884</ix:nonFraction> common shares, net of shares withheld for taxes</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtNC0xLTEtMTI1OTMz_7fd80753-73d6-45e3-8c66-edfe6cdafe7f">1,236</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i71d552ee7d204d159090fc1ae4650a84_D20230101-20230331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtOC0xLTEtMTI1OTMz_2d43da1d-aa7f-407b-8f87-74fd856efe12">1,066</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtMTQtMS0xLTEyNTkzMw_c97eef7a-39be-4c86-b1ab-d89345c85e0e">170</ix:nonFraction>)</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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTItNC0xLTEtMTI1OTMz_7a7e2885-b5f7-480d-b5c1-47f84ebcff65">884</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTItMTQtMS0xLTEyNTkzMw_92b67c1a-b187-403f-9c88-b04ec2c2c37a">884</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance, March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i41fc9a80ff23446c8cd8f3935f99d238_I20230331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMi0xLTEtMTI1OTMz_5ca43822-49e3-4cf5-8f33-9a126b6b8e56">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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaa8244821b5443efa2770dada15b74bf_I20230331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtNC0xLTEtMTI1OTMz_1f1465b2-1b69-41b2-804c-724a49454a24">40,951</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i19118010f43f497abbc8c4c6f49e9324_I20230331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtNi0xLTEtMTI1OTMz_eea9e94e-d68d-4120-b6d5-ca154dcc6865">121,017</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i784641f6bf9e48b2a8605839ca99b29b_I20230331" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtOC0xLTEtMTI1OTMz_b5fc924e-de2c-4c09-9c97-a77c84c3dfe6">5,174</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3025a2879a5543c3843d37b5b12f7460_I20230331" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTAtMS0xLTEyNTkzMw_529be3e7-daad-45e7-ba73-383238a2df63">20,296</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3f5e6b29ee4a4b99932730d73fe80ccb_I20230331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTItMS0xLTEyNTkzMw_306d1f90-9000-4b4b-857f-8c3c8acee6cd">405</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTQtMS0xLTEyNTkzMw_995a83ac-a35a-4d4a-980a-89e2647ca4b9">137,014</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></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:17.233%"></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.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.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.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.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.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.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.016%"></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="39" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended March 31, 2022</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Common<br/>Stock</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Paid-in<br/>Capital</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Retained<br/>Earnings</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Treasury<br/>Stock</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated Other<br/>Comprehensive Loss</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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Noncontrolling<br/>Interest</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',sans-serif;font-size:8pt;font-weight:700;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance, December 31, 2021</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i20291ebd1c474492a38ece518d3edd7b_I20211231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0yLTEtMS0xMjU5MzM_3721c479-e451-4122-b2bd-effb58726116">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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifef8a7457d994496a3dd1a5b94413286_I20211231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi00LTEtMS0xMjU5MzM_de142e12-3c58-478a-aec8-d51447012dd7">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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic35f62d81548427dbfb19a135ab0bb48_I20211231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi02LTEtMS0xMjU5MzM_536c5246-49fe-48fa-b9a7-3bb8b09c0e65">168,733</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i92606788db2049e49d231fe0f32ef4ac_I20211231" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi04LTEtMS0xMjU5MzM_2337c846-a9cc-4c8e-be15-08dcdfe9ea7e">10,179</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i45c2efb2119a4fa98912837554524cee_I20211231" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xMC0xLTEtMTI1OTMz_899e5e41-bad1-43be-8e6b-63ccea5c0982">18,845</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib951f8feda1146c0b0ff1996dd008323_I20211231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xMi0xLTEtMTI1OTMz_96909d01-d890-462f-a214-43e8ef5c3a13">518</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia194bc89639f47f087d63938eb52302b_I20211231" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xNC0xLTEtMTI1OTMz_72fb2a29-5efb-43b3-9bc2-424996e6dd78">183,610</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</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',sans-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><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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i44278c22cf334863abf4d50d14f3fa0a_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC02LTEtMS0xMjU5MzM_9ff1c276-6a69-4eb6-b1f9-2779cd26d820">1,566</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><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',sans-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><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',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC0xMi0xLTEtMTI1OTMz_de60c591-7201-4736-80db-0e9415a514f8">20</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:ProfitLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC0xNC0xLTEtMTI1OTMz_0a9ceed0-9763-44ae-81d1-06c34eb2796f">1,586</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></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',sans-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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNi0xMC0xLTEtMTI1OTMz_a5ba36c7-afd7-4ba2-9914-ca030c43c92f">49</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNi0xNC0xLTEtMTI1OTMz_9a3017aa-017c-4831-9d91-42d055051038">49</ix:nonFraction>&#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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xMC0xLTEtMTI1OTMz_245dd491-2b29-4750-98cd-46073a60d501">965</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xMi0xLTEtMTI1OTMz_b4a61290-62e1-410c-913a-30744d4749ba">85</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xNC0xLTEtMTI1OTMz_6a0bb0ee-af50-4546-bd8b-7073d6056431">880</ix:nonFraction>)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized derivative gain on cash flow hedges</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOC0xMC0xLTEtMTI1OTMz_4ebd6cf0-8a84-484c-8de1-11dc108eab09">551</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOC0xNC0xLTEtMTI1OTMz_20ec39eb-46ff-4b76-be25-b1cbc079a214">551</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash flow hedges reclassified to earnings</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOS0xMC0xLTEtMTI1OTMz_313d9fa0-3b4c-43b4-be3a-d7b591c9e50e">93</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOS0xNC0xLTEtMTI1OTMz_32f290d7-624c-47ed-800a-5d12ca906f87">93</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of <ix:nonFraction unitRef="shares" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246ZDFhNzYyZGVlNzA4NDU4MjkxZDQxYzU2ZTIxYzY2ZGFfMTY_4aab81de-2c0c-4972-9282-85bb6aa90869">34,440</ix:nonFraction> common shares, net of shares withheld for taxes</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtNC0xLTEtMTI1OTMz_f902b294-2400-464f-8691-2d58991e6e79">1,377</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i40166a9b46b0464ba05c103dcea4226a_D20220101-20220331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtOC0xLTEtMTI1OTMz_bc5882aa-6bfb-4564-98e9-4d401405901b">979</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtMTQtMS0xLTEyNTkzMw_7d891bfa-ec94-4fa8-926d-8f59b9dc91d8">398</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTItNC0xLTEtMTI1OTMz_2e054656-a39f-41b0-9909-5ea388781398">258</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTItMTQtMS0xLTEyNTkzMw_d624a0e0-d9e7-40a1-88ea-acf191806c1f">258</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance, March 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i932d61a8e49c4eb98a731af3aa6c5823_I20220331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMi0xLTEtMTI1OTMz_dc84928a-6142-48dd-b543-047ce70a3764">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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i47c5b14b2d134db0a9cc1a28bc5befc5_I20220331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtNC0xLTEtMTI1OTMz_205c43ca-f52b-47c5-8ce5-89077521e63f">42,153</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2774810522164dfb8adb02292441ae3c_I20220331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtNi0xLTEtMTI1OTMz_dcffcd6b-5e68-4206-bacf-2628a2f100c9">167,167</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i77e7d99f2c70481ea4117b1377cb7e63_I20220331" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtOC0xLTEtMTI1OTMz_196f7f21-2f2e-47ca-8596-0112a435d37c">9,200</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7b89bd49df8149138a911d6a8363885c_I20220331" decimals="-3" sign="-" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTAtMS0xLTEyNTkzMw_c13a1eaa-b4ff-4b73-9339-da9bb5935fdb">19,117</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic25c2d702acf4eddb55bfc483e4d52b8_I20220331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTItMS0xLTEyNTkzMw_c17fbde3-ba97-4779-80f2-641956805883">583</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i722a0b4fd96245ab9a5604f944559543_I20220331" decimals="-3" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTQtMS0xLTEyNTkzMw_9269c56e-0716-4859-8788-8adc171098e4">181,697</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></tr></table></div><div style="text-align:center"><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(Dollars in thousands, except share data)</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_34"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 1. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNC9mcmFnOjNmZGFhMDUwYTE2NjRjY2JhNWU2OTM5OGU0OTZjMzQyL3RleHRyZWdpb246M2ZkYWEwNTBhMTY2NGNjYmE1ZTY5Mzk4ZTQ5NmMzNDJfMzQyNA_17ca3f96-68d0-414c-97ec-acc0c704b1bd" continuedAt="ibe7f3616aa95427684c519eb8161e793" escape="true">Financial Statements</ix:nonNumeric></span></div><div style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"><ix:continuation id="ibe7f3616aa95427684c519eb8161e793" continuedAt="id94162a2992f43c98d2230a05ae8709f"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNC9mcmFnOjNmZGFhMDUwYTE2NjRjY2JhNWU2OTM5OGU0OTZjMzQyL3RleHRyZWdpb246M2ZkYWEwNTBhMTY2NGNjYmE1ZTY5Mzk4ZTQ5NmMzNDJfMzQyMA_5cc3ba91-a8df-4231-b68b-fd4dc2029ff3" continuedAt="iad76c0e6b27a4f2eb3c0ef2a77c9f269" escape="true">Basis of Presentation</ix:nonNumeric></ix:continuation></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="id94162a2992f43c98d2230a05ae8709f"><ix:continuation id="iad76c0e6b27a4f2eb3c0ef2a77c9f269">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 months ended March 31, 2023 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2023. 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, 2022. 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:continuation></ix:continuation> </span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_37"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 2. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:SegmentReportingDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4NA_57cab69d-aae4-4d33-9fc6-1287cb66bbd7" continuedAt="ib25db275ddda47b6a0232ca7069e2a1c" escape="true">Business Segments </ix:nonNumeric></span></div><ix:continuation id="ib25db275ddda47b6a0232ca7069e2a1c" continuedAt="ib121792bb0414ac3ab9d7bc2d0a3ae8c"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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&#8217;s innovative engineering and product development solutions address the safety, reliability, and performance needs of its customers&#8217; most challenging requirements. The Company maintains locations in North America, South America, Europe, and Asia. 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 Chief Operating Decision Maker, who uses such information to make decisions about resources to be allocated to the segments, and (c) for which discrete financial information is available. Operating segments are evaluated on their segment profit contribution to the Company&#8217;s consolidated results. Other income and expenses, interest, income taxes, and certain other items are managed on a consolidated basis. The Company&#8217;s segment accounting policies are described in Note 2 Business Segments 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, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4Ng_f40a6600-936e-4b35-843d-9d131622727f" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The operating results of the Company's reportable segments 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi0yLTEtMS0xMjU5MzM_3255a70a-3a74-4f23-b5ba-ea1bc21a455c">64,384</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi00LTEtMS0xMjU5MzM_831efe82-23a5-4398-b1b0-2fd5d96a083d">2,388</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi02LTEtMS0xMjU5MzM_4e6df599-1b2c-4c8f-a4ed-43e6e3f65ae6">63,710</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi04LTEtMS0xMjU5MzM_02294a3d-011d-4680-92ec-7c40b5b25a34">1,039</ix:nonFraction>&#160;</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy0yLTEtMS0xMjU5MzM_41296780-edf4-49d7-b772-f24fe2a998fe">24,288</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy00LTEtMS0xMjU5MzM_0ef4d65e-04e0-4c5d-ab54-0e687d17a66d">348</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy02LTEtMS0xMjU5MzM_88b54f66-2e29-4853-858a-0ac6ed427734">15,010</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy04LTEtMS0xMjU5MzM_b543a5e7-ade2-4430-9f98-8311a8aae640">791</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i63ee87255a134aabb66a281410efd393_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC0yLTEtMS0xMjU5MzM_04b1f324-44aa-462e-bcec-0eef45125e92">26,816</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i63ee87255a134aabb66a281410efd393_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC00LTEtMS0xMjU5MzM_880a7366-9922-4cfa-b245-0ef0de02621f">8</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC02LTEtMS0xMjU5MzM_2a0f573f-4a7f-44c8-80c7-e2ddda77f8b7">20,074</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC04LTEtMS0xMjU5MzM_da63544a-3dd3-4d64-99ea-67fd574fda7c">2,148</ix:nonFraction>)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS0yLTEtMS0xMjU5MzM_859706f1-1f90-4d8c-8443-79ba2493aa14">115,488</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS00LTEtMS0xMjU5MzM_6f247a53-ce24-4317-8a73-c49dc8489c88">2,032</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS02LTEtMS0xMjU5MzM_84903779-3342-49c8-8498-a38c6a3698c5">98,794</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS04LTEtMS0xMjU5MzM_e1273f41-ba6f-493b-bd94-64ef92f27f46">1,900</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment profit (loss) from operations, as shown above, includes allocated corporate operating expenses. Operating expenses related to corporate headquarter functions that directly support the segment activity are allocated 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. The expense allocation excludes certain corporate costs that are separately managed from the segments.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4MQ_a988b9d9-da13-4d46-a8f7-c649e9a595f7" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of reportable segment net profit (loss) to the Company&#8217;s consolidated total 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.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:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.633%"></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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating profit (loss) for reportable segments</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMi0yLTEtMS0xMjU5MzM_c3aed7b0-448d-467f-8a97-700298b5eedc">2,032</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMi00LTEtMS0xMjU5MzM_ddb40d98-1feb-4cf5-a4dc-1a2f0351d99d">1,900</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><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMy0yLTEtMS0xMjU5MzM_6e23d90e-aed1-4d77-92b7-d8287e429e8f">1,388</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMy00LTEtMS0xMjU5MzM_836a7a30-af20-45cc-9837-3e8d3b7ae310">370</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other (expense) income - net</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfNS0yLTEtMS0xMjU5MzM_857a54ad-f2a0-46fa-b6cb-31532f609f7c">1,827</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfNS00LTEtMS0xMjU5MzM_349f22e9-ca58-4d8f-b922-bd7b3e630743">563</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses and other unallocated charges</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331" decimals="-3" name="fstr:CorporateExpenseAndOtherUnallocatedCharges" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOC0yLTEtMS0xMjU5MzM_498b75c0-385d-4cf3-ae1b-edb7a6615797">1,529</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331" decimals="-3" name="fstr:CorporateExpenseAndOtherUnallocatedCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOC00LTEtMS0xMjU5MzM_aa8e1c93-e6ef-4aee-ad56-f8c739a4d2ae">387</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOS0yLTEtMS0xMjU5MzM_7cefdda4-f267-4882-b2ea-47cb7f0db76c">2,712</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOS00LTEtMS0xMjU5MzM_b19d0ab8-4b8c-4f8c-adcc-7edc1242ca80">2,094</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><td colspan="3" style="display: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></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><ix:continuation id="ib121792bb0414ac3ab9d7bc2d0a3ae8c"><div><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4OA_0ac000fb-72a7-49ce-9f3c-5ce55e573547" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates assets of the Company by reportable segment for the periods presented:</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><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iad9aa66948aa427d8733b61886370a14_I20230331" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMS0yLTEtMS0xMjU5MzM_e4a5bd1d-660c-4559-9aec-267d03e34cbe">163,001</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i77148bffd1ea4576b1b6e887e23424bc_I20221231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMS00LTEtMS0xMjU5MzM_ff413fd1-f31a-41a7-9036-5aab003cd3e5">172,111</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5986c6e926704a0ba31da1ad5ecc5c3f_I20230331" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMi0yLTEtMS0xMjU5MzM_397bbe00-fc59-480c-9db7-10e013997152">104,581</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3afa9c615a3142e1a8a7c8dff349f77a_I20221231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMi00LTEtMS0xMjU5MzM_9cd620f2-ad1b-406c-971e-621396c51188">108,598</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i09cd8128a9504543a004d58ccfda78e4_I20230331" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMy0yLTEtMS0xMjU5MzM_b2ad79e2-32da-42f6-9d05-eaadbf2c81ff">38,236</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6aeed06cd3b04bd490e7b53b07a716b9_I20221231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMy00LTEtMS0xMjU5MzM_a49dea2a-93b2-439f-b0ac-64915556e0f9">54,516</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia0cf33c60ff748a5bbc634597665f4fe_I20230331" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNC0yLTEtMS0xMjU5MzM_47275ac7-b0fa-46ff-8c97-0511941a8af3">30,560</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6284dcf0a94a48c99cee07ee2561a00d_I20221231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNC00LTEtMS0xMjU5MzM_bf7c64ca-06e9-4420-b694-e116ec3e2bf3">30,085</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNS0yLTEtMS0xMjU5MzM_620c6fa8-413f-41f6-a49b-471374e60bce">336,378</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNS00LTEtMS0xMjU5MzM_26402475-16a8-4433-ad22-7d59e6a58cee">365,310</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></tr></table></ix:nonNumeric></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC business (&#8220;Chemtec&#8221;) for $<ix:nonFraction unitRef="usd" contextRef="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330" decimals="-3" name="us-gaap:ProceedsFromDivestitureOfBusinesses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfNDk0NzgwMjMyNzg0NA_e034ed16-ee90-4198-9104-dfaf2982a208">5,344</ix:nonFraction> in proceeds, subject to final working capital adjustments, generating a $<ix:nonFraction unitRef="usd" contextRef="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfBusiness" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfNTQ5NzU1ODE2NTQ1_9094dcef-e1fc-49ad-b09a-2921308dd7bf">2,033</ix:nonFraction> loss on sale, recorded in &#8220;Other expense (income) - net.&#8221; The Chemtec business was reported in the Coatings and Measurement business unit within the Steel Products and Measurement segment.</span></div></ix:continuation><div id="i8985b0fd6dd644ef84855313196ba4d5_43"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 3. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDI0OQ_8d114d96-f068-479f-b28b-ca4e140e03b9" continuedAt="ide377b3f41a54273a64ba416d61a636d" escape="true">Revenue</ix:nonNumeric></span></div><ix:continuation id="ide377b3f41a54273a64ba416d61a636d" continuedAt="ib21572ec3fbb43dda1a10b789ecb5b1b"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDk0NzgwMjMzMjcyNg_ae854819-8cb1-4428-a76c-1570a9e0e531" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s net sales by major product and service category 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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail Products and Global Friction Management</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib94c3af616a84d688d59809b47cda372_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMi0yLTEtMS0xMjkyNTQ_019f6130-8229-414b-abe1-3d2280252240">56,048</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia19cda2506014897802590110f2d12fd_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMi00LTEtMS0xMjkzMTY_52010d26-7dad-4e5c-9b63-7581298f76fa">51,651</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology Services and 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i79937a4eb83c438c8d6f0c11e3340123_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMy0yLTEtMS0xMjkyNjA_0792db87-3b68-4c29-b06e-2e66b4f699dd">8,336</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1237302f3f4a45e9a3821bf180c0ef4d_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMy00LTEtMS0xMjkzMTY_0212989e-4f79-4a3a-909b-e4915783d516">12,059</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 colspan="2" style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNC0yLTEtMS0xMjkyOTg_e512c8b8-3f67-497a-bc8b-c4f1817cb86d">64,384</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNC00LTEtMS0xMjkzMTY_60ef1836-8513-4b1d-9650-4f91e42c3cef">63,710</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Buildings</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02800169134b4ec0a44706d408b19b03_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNS0yLTEtMS0xMjkzMDQ_efc2a85e-d3a3-4061-821f-febd7dc64562">10,886</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i62ce50a3f4b043a28e1a023c5703dd2f_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNS00LTEtMS0xMjkzMTY_2a91304b-7b33-441d-92f9-34ed284bc8c0">9,970</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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Precast Concrete Products</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7540d8806fd749128acf5902a0be579f_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNi0yLTEtMS0xMjkzMTA_936fc862-328c-4c8f-8535-38114409afb0">13,402</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id54de3a85e05410d9c0e8951baf9e018_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNi00LTEtMS0xMjkzMTY_eb2a8770-4551-4e43-803e-01984222c4e7">5,040</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNy0yLTEtMS0xMjkzMTA_49f206a4-6cdf-4962-ad39-b4ef51428d5c">24,288</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNy00LTEtMS0xMjkzMTY_233ef05b-3f59-483a-b51d-7380d4ae67ed">15,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"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fabricated Steel 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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3c55b66d69de4416888b170a4fd95d33_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOC0yLTEtMS0xMjkzMTA_f1986515-a5f3-4fd9-8b95-0dace7c4ecef">10,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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i947da1668daa4cdc899b0ee88de8941d_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOC00LTEtMS0xMjkzMTY_e890dd5e-81af-4940-b8ba-81cfb5aae0e5">12,604</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Coatings and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib92ed0acb0fb41d2aac66ead59e99158_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOS0yLTEtMS0xMjkzMTA_b24f2f99-a0c3-4e57-ae28-6e6c359c312e">16,299</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iceba75f290ed4f58b02e3257b2ac1210_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOS00LTEtMS0xMjkzMTY_65657d36-3603-4699-b678-cfc125a12c61">7,470</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTAtMi0xLTEtMTI5MzEw_dcf6eb98-9b74-4c0f-aca6-4019de480738">26,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"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTAtNC0xLTEtMTI5MzE2_7efab9b0-4cbc-474f-a4f7-b0e4e12c424b">20,074</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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTEtMi0xLTEtMTI5MzEw_5c3d7a3c-e534-48a4-95fd-e6364514d85f">115,488</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTEtNC0xLTEtMTI5MzE2_2701953b-05d6-4c03-9874-0021c801209b">98,794</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><td colspan="3" style="display: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></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',sans-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="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDI1Mg_ddde6034-bcec-4531-96af-8a27564f8db2" continuedAt="ia64c347a3de34b818ef60df9aae8b814" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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:99.583%"><tr><td style="width:1.0%"></td><td style="width:44.227%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.497%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.870%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.497%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.870%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.497%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.870%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.497%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.875%"></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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icd1e825cbfff461daf46fce9ae8bc863_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi0yLTEtMS0xMjU5MzM_7a3622cd-013d-41d4-a595-5afce91de1ba">53,834</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i06d0c940c4a841e590927db26c2be641_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi00LTEtMS0xMjU5MzM_97482e46-6f78-4716-848a-a3e9d61ba661">13,402</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6e1d58aa46dc45e0a65e59e6ae15bb2d_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi02LTEtMS0xMjU5MzM_39297825-275a-408d-bd4f-6d6b8bd869de">15,726</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia76ad66a0e9b4464be835910057fe869_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi04LTEtMS0xMjU5MzM_1bfd1209-183c-42bc-99d2-34d6763f582b">82,962</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0621169fa7d6423094498cf4ae9d93e0_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy0yLTEtMS0xMjU5MzM_1062228e-fb20-4256-ae6e-f432c79897e5">10,550</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iae36f7c70f8541ad986de03cddc33c54_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy00LTEtMS0xMjU5MzM_3ed5370b-db1a-47ac-8c1c-73a776c9a5f3">10,886</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1fc7b50db6154316add0343bae356a81_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy02LTEtMS0xMjU5MzM_a58634d8-9f19-4e03-b05c-ae022369a67d">11,090</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i89be361d231e4d7dbbde73db2b522641_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy04LTEtMS0xMjU5MzM_3e3816e9-68ed-4a7e-ab27-f229a38e2af9">32,526</ix:nonFraction>&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC0yLTEtMS0xMjU5MzM_46c6fffd-d736-4b0e-9636-00e56cca5104">64,384</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC00LTEtMS0xMjU5MzM_39fc8555-ed22-4d9c-97f5-2a8e4325c966">24,288</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC02LTEtMS0xMjU5MzM_0e0edd2d-705a-458c-8874-1bc44cbf47e3">26,816</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC04LTEtMS0xMjU5MzM_c1688817-6367-42a5-a75d-cf71ab378d80">115,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2022</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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iacb73dd5aa4d483089b98c8ec12c3e48_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC0yLTEtMS0xMjU5MzM_9143489f-d808-49cb-a8c9-b71d25191373">49,166</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i333358b784b84c89a82799025e8651ad_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC00LTEtMS0xMjU5MzM_c1d8c48a-a8f1-458c-b347-6eefd818a8c8">4,263</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia1abd8ec82d141f7ab9b9f4ca5367855_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC02LTEtMS0xMjU5MzM_6a64605f-0b45-4d5b-87b1-a6633a268ea8">15,062</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iea0603a402c942d697a8ec7716ff1a79_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC04LTEtMS0xMjU5MzM_3e708837-5c6b-4753-affe-6ee03135ed08">68,491</ix:nonFraction>&#160;</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4d9f8e472d5c4ae886d5f24587d6a79c_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS0yLTEtMS0xMjU5MzM_51ed4f73-6ea6-4b24-8024-e83da55b78cf">14,544</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0c6d856d1b3b4557b24fe95643741d99_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS00LTEtMS0xMjU5MzM_8f2e71ec-b0e3-4c25-a729-505039312114">10,747</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i67978491d5c14be1ae5b27de44babdfc_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS02LTEtMS0xMjU5MzM_30ccafff-0bf2-4817-a0c3-8ac5274ff8cd">5,012</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i840a9b2ccb4d4b989784d89055559faf_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS04LTEtMS0xMjU5MzM_7c094a80-acb8-41dc-9d35-2f49a1f7e72d">30,303</ix:nonFraction>&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtMi0xLTEtMTI1OTMz_7c3a51d0-816e-451b-a098-cf080a51be52">63,710</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtNC0xLTEtMTI1OTMz_e04b2a84-fe7b-4cf1-9c2d-579683dd6383">15,010</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtNi0xLTEtMTI1OTMz_c19eef07-98db-4e6a-b42d-fd68e3315c35">20,074</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtOC0xLTEtMTI1OTMz_016a4025-b01c-4cf0-ae90-41283c8300d4">98,794</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s performance obligations under long-term agreements with its customers are generally satisfied over time. Revenue under long-term agreements is generally recognized 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 </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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><ix:continuation id="ib21572ec3fbb43dda1a10b789ecb5b1b"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">upon which measure the Company believes best depicts its performance to date under the terms of the contract. A certain portion of the Company&#8217;s revenue recognized over time under these long-term agreements is recognized using an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements.</span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="ia64c347a3de34b818ef60df9aae8b814"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales <br/>Three Months Ended March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i03021627e1314018906c28d49517d677_D20230101-20230331" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi0yLTEtMS0xMjk2MjI_c1938409-d003-4c1b-8b31-7e08f80614d9">16,211</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi00LTEtMS0xMjk2MTI_d78d8ef7-6a0b-46e8-a7ce-14b87c8eb6a3">19,322</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i03021627e1314018906c28d49517d677_D20230101-20230331" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi02LTEtMS0xMzA4NTU_d41a5e7d-58f8-4849-a8f7-80a8191add04">14.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi04LTEtMS0xMjk2MzQ_80e78da5-4944-449d-94fd-e03c9ef4d287">19.6</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6818ad645a3143f382643610e175fa1a_D20230101-20230331" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy0yLTEtMS0xMjk2MjI_13746af2-8416-4bf9-9341-635752a2c372">16,315</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy00LTEtMS0xMjk2MTI_651e3946-f84e-4a24-9a7d-dc66793bfef6">10,981</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6818ad645a3143f382643610e175fa1a_D20230101-20230331" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy02LTEtMS0xMzA4NTU_f68fbf2b-ebc4-454a-8b3b-3610ec92d102">14.1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy04LTEtMS0xMjk2MzQ_22be6b52-bb13-40a3-8919-45b5a001f8ce">11.1</ix:nonFraction>&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC0yLTEtMS0xMjk2MjI_5bb23a78-e7d8-4880-8931-5e5c96e3315e">32,526</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="fstr:OverTimeSalesAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC00LTEtMS0xMjk2MTI_57edda04-78cc-414f-a3d4-6a53be1e0f25">30,303</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC02LTEtMS0xMzA4NTU_f9cf244a-312c-4f34-8d50-82b9c3b9ccac">28.2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="3" name="fstr:OverTimeSalesPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC04LTEtMS0xMjk2MzQ_bd17637d-d326-444d-be56-43a6fe2a8b71">30.7</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></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',sans-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&#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="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDk0NzgwMjMzNTAyMA_82101b85-7913-4132-bb4d-30140bdbab50" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company'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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMS0yLTEtMS0xMzkxNzA_9c6fea88-d750-494e-9217-db2888691288">33,613</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net additions to contract 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="fstr:ContractWithCustomerAssetAdditions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMi0yLTEtMS0xMzkxNzA_0fa1c7e7-48d0-43ec-99d2-8cdd3c89a722">1,290</ix:nonFraction>&#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',sans-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:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:ContractWithCustomerAssetReclassifiedToReceivable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMy0yLTEtMS0xMzkxNzA_968690ae-ab08-4aa6-ab18-34099471b6bf">3,696</ix:nonFraction>)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfNC0yLTEtMS0xMzkxNzA_1f2ad168-c9c8-407c-b747-b9efbe91d77a">31,207</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company'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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMS0yLTEtMS0xMzkyMjY_70557da0-05be-4244-a73e-27fa093fc22a">6,781</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></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMi0yLTEtMS0xMzkyMjY_c9cea1b9-6f7b-404b-81cc-799d2dc06d1d">3,443</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="fstr:ContractWithCustomerLiabilityIncreaseFromCashReceipts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMy0yLTEtMS0xMzkyMjY_af643bca-c2a0-4fb7-98b9-4fe171d7ea4d">1,983</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments, including business divestiture</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="fstr:ContractWithCustomerLiabilityOtherAdjustments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfNC0yLTEtMS0xMzkyMjY_f0d2f34b-b662-433e-a366-c8702240fe69">2,078</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfNS0yLTEtMS0xMzkyMjY_2fd81981-e2ec-4bb1-9ae1-a495ebb70239">3,243</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records provisions related to the allowance for credit losses associated with contract assets. Provisions are recorded based upon a specific review of individual contracts as necessary, and a standard provision over any remaining contract assets pooled together based on similar risk of credit loss. The development of these provisions is based on historical collection trends, accuracy of estimates within contract margin reporting, as well as the expectation that collection patterns and margin reporting will continue to adhere to patterns observed in recent years. These expectations are formed based on trends observed, as well as current and expected future 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023, the Company had approximately $<ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDAzMw_039dd8bb-3959-4e8f-8237-c8d73f6a2cb0">259,881</ix:nonFraction> of obligations under new contracts and remaining performance obligations, which is also referred to as backlog. Approximately <ix:nonFraction unitRef="number" contextRef="ief32642424144d36965f51c37266b30c_I20230331" decimals="3" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDE2Mg_f3a4248e-a628-405e-b5a2-30a0c170c59c">8.9</ix:nonFraction>% of the March&#160;31, 2023 backlog was related to projects that are anticipated to extend beyond March&#160;31, 2024.</span></div></ix:continuation><div id="i8985b0fd6dd644ef84855313196ba4d5_49"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 4. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMTgyOQ_d8a8a4f2-fe33-4d74-b524-dd2db8bd21b5" continuedAt="i533d90590ca640c19b2c0bd1fc52d812" escape="true">Goodwill and Other Intangible Assets</ix:nonNumeric></span></div><ix:continuation id="i533d90590ca640c19b2c0bd1fc52d812" continuedAt="i15a69df2686c42c8abcaaa5887616279"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ScheduleOfGoodwillTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMTgyNQ_47bafc00-779e-44ea-a1e5-0ca920c5a3cb" continuedAt="i4dd22e589cf94638b3e4a9f19488fa67" escape="true">The following table presents the changes in goodwill balance by reportable segment for the period presented:</ix:nonNumeric></span></div><div style="text-align:justify"><ix:continuation id="i4dd22e589cf94638b3e4a9f19488fa67"><table 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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9d1963d8f99f4c88bdc3b1ffcb15a81d_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS0yLTEtMS0xMjU5MzM_fbe1b90a-ff71-4bea-a073-5fdf8fdd8e48">19,948</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib982b325025147d8937e9c42e08beada_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS00LTEtMS0xMjU5MzM_77f94de2-6b20-4f2a-8b81-19db90a9815b">10,785</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic48ec56bf9ea48849e90aee9dab15592_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS02LTEtMS0xMjU5MzM_5ce85d61-6ef3-48c4-ab0c-6f506f7f8b58">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS04LTEtMS0xMjU5MzM_d3be3c5f-b1ce-4bab-95f8-da8f8903117a">30,733</ix:nonFraction>&#160;</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC0yLTEtMS0xMjU5MzM_82b8844d-a944-4d44-a80e-4360c4b083fc">130</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC00LTEtMS0xMjU5MzM_ea499598-3e72-4744-bb50-45b89668d292">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC02LTEtMS0xMjU5MzM_9f0d5970-dd78-4522-a2d3-dc602d632d02">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC04LTEtMS0xMjU5MzM_85c53ffd-ee1c-405b-8707-5267a6484fcc">130</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icb921d9a7bc04c09adbfa0e15199ca24_I20230331" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy0yLTEtMS0xMjU5MzM_b578ade0-3599-40db-902c-358446fa7567">20,078</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic0620249071b4026a5bb6680dad2d666_I20230331" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy00LTEtMS0xMjU5MzM_48172972-ed02-4c71-8db6-30b7f6ceb0b5">10,785</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i80e024ba38d24d678c483b9b75733d8b_I20230331" decimals="-3" name="us-gaap:Goodwill" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy02LTEtMS0xMjU5MzM_c0fbbf12-5ca9-4972-bf87-820b48e281ae">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy04LTEtMS0xMjU5MzM_fd330ae3-bc34-4eaa-9cfb-ef45bcbbfcdc">30,863</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></tr></table></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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 included the impacts of current economic conditions, including but not limited to labor markets, supply chains, and </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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><ix:continuation id="i15a69df2686c42c8abcaaa5887616279"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">other inflationary costs. 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 March&#160;31, 2023. However, future impairment charges could result if future projections diverge unfavorably from current expectations in the Rail Technologies and Precast Concrete Products reporting units.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMzg0ODI5MDcwMDgxNg_71cfd3d1-5c50-47c6-a446-5d97c87adab0" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023 and December&#160;31, 2022, the components of the Company&#8217;s intangible assets were as follows:</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: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31, 2023</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',sans-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',sans-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',sans-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',sans-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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iac8139cc0acb40c5b3fb2886ae2ec15e_D20230101-20230331" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi0yLTEtMS0xNDE2ODY_8ea1d1f0-dc0e-41e0-9627-10b38ff151f7">1</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi00LTEtMS0xNDE2ODY_1ec06723-3b2c-4cd5-a905-a9c0e3a2ac7e">27</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi02LTEtMS0xNDE2ODY_684af4b7-b392-47ea-841e-bde4d7467c33">23</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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi04LTEtMS0xNDE2ODY_16d551fa-c7d3-45cb-b04e-6b3bfc40a89b">4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="id3d5112c26a34b6f9b8d7bd74f403358_D20230101-20230331" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy0yLTEtMS0xNDE2ODY_4c747718-82a8-43a8-8cbc-872f4cc87749">10</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy00LTEtMS0xNDE2ODY_bc958553-d48a-416e-b770-0b192818e29c">330</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy02LTEtMS0xNDE2ODY_ac060d31-d13c-48f0-9413-8b0b0090bbc5">187</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy04LTEtMS0xNDE2ODY_cbdeeafd-d1be-438f-8191-583c981503c4">143</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i251e12ea961741bb926c8abd8f8bfd16_D20230101-20230331" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC0yLTEtMS0xNDE2ODY_cdbfd984-a1c4-4c13-a29c-81492cd40a12">16</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC00LTEtMS0xNDE2ODY_067b0947-671e-4033-a37f-39a972b89540">27,413</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC02LTEtMS0xNDE2ODY_7ef0ac75-d77b-413b-ac16-b3f55c0f4253">14,965</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC04LTEtMS0xNDE2ODY_98041d8e-e7da-4392-8c90-18ec567da715">12,448</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i1e320e688e0b4df39bf87960b68d58b4_D20230101-20230331" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS0yLTEtMS0xNDE2ODY_d8a11b1b-5de1-4721-a919-e9506165257d">16</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS00LTEtMS0xNDE2ODY_26fb60a8-620b-4973-9ed0-af264ec85923">7,957</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS02LTEtMS0xNDE2ODY_5a6f27c5-dcbe-4110-a755-2348c1c5e168">4,142</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS04LTEtMS0xNDE2ODY_16c4de91-bfad-450a-b5e3-5a7a74d29884">3,815</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i078ed6f96c474800a1c57166f75718db_D20230101-20230331" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi0yLTEtMS0xNDE2ODY_32913a99-5953-42a4-958b-3de6e9c12d09">14</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi00LTEtMS0xNDE2ODY_0631dc7a-532a-4463-9527-d6643e40b8b5">32,253</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi02LTEtMS0xNDE2ODY_142056d1-466d-4a52-8353-1d9c91b0db73">26,405</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi04LTEtMS0xNDE2ODY_596e6b6e-3c32-4f49-9d6c-ab35a438d685">5,848</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i2841959fd84a4b48b32f0cb84989b6de_D20230101-20230331" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy0yLTEtMS0xNDE2ODY_8efc2340-204c-45f6-b718-5a228d57bf39">6</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy00LTEtMS0xNDE2ODY_53b66630-a745-4448-adce-2304cbbf0147">327</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy02LTEtMS0xNDE2ODY_0c7d945d-039f-4aaf-8d55-0b748f147cb6">36</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy04LTEtMS0xNDE2ODY_28e1ab59-49e3-4877-944d-ef298443c0e5">291</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC00LTEtMS0xNDE2ODY_b183acbd-aca8-4e04-9775-274871f63c14">68,307</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC02LTEtMS0xNDE2ODY_e186ca30-d554-4e4a-8dcb-b1e48f9b9bf8">45,758</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC04LTEtMS0xNDE2ODY_f95bc38d-1128-4395-9707-997117761129">22,549</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></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: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2022</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',sans-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',sans-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',sans-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',sans-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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i17d8aae57327493eb914b7095d2a49cc_D20220101-20221231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi0yLTEtMS0xNDE3MDg_1462aaa5-1b6d-4e9f-b3eb-dd9e99240497">1</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi00LTEtMS0xNDE3MDg_5bf4634f-8cdd-4d6e-aad0-b8e20b9b1d89">27</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi02LTEtMS0xNDE3MDg_c716db7b-895d-4a35-a45e-d1392abc81c9">16</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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi04LTEtMS0xNDE3MDg_9cbd2721-45ce-4d1b-b38e-df45a25b7251">11</ix:nonFraction>&#160;</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i17b4d5dfd5ba4d36971bf6a5b718294c_D20220101-20221231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy0yLTEtMS0xNDE3MDg_e67ba0fa-2fa8-4d20-b5b9-6aeb725ddeef">10</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy00LTEtMS0xNDE3MDg_b576a928-9359-457f-aefc-7a05bb303a94">330</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy02LTEtMS0xNDE3MDg_e462e5ed-abdc-4d40-834f-6af3f67e9bcd">187</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy04LTEtMS0xNDE3MDg_f114092a-559a-46e8-986f-197e58457041">143</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ia8040277b6404366936bf09a061070e8_D20220101-20221231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC0yLTEtMS0xNDE3MDg_2943bab3-4a97-47c5-b630-97df474a18df">16</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i464ff039fc88406d808d104214c145c3_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC00LTEtMS0xNDE3MDg_e52f4a86-dc33-4483-afda-815448949ac8">27,184</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i464ff039fc88406d808d104214c145c3_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC02LTEtMS0xNDE3MDg_adde4d27-7057-4395-a8f0-5ccbb86d7132">14,129</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i464ff039fc88406d808d104214c145c3_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC04LTEtMS0xNDE3MDg_519a1a96-3944-4e2a-91c5-789c258f04f9">13,055</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i7a6a48d68fcd41c7adb286c806f8c565_D20220101-20221231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS0yLTEtMS0xNDE3MDg_8c7f4059-849a-4997-946e-9315fe74ab68">16</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i14547eea555841b682acff4b937b4814_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS00LTEtMS0xNDE3MDg_947c1adb-ac17-4204-989e-5e96e9651383">7,933</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i14547eea555841b682acff4b937b4814_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS02LTEtMS0xNDE3MDg_5fd016fb-46ee-4279-baa7-1b14f01b0a44">3,989</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i14547eea555841b682acff4b937b4814_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS04LTEtMS0xNDE3MDg_a93a5c3a-d030-4070-9776-9dbb00959bf8">3,944</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i6ff42532b9ad488691876c7faca08a00_D20220101-20221231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi0yLTEtMS0xNDE3MDg_42de9dde-55e8-42c0-95df-aa5e9ac46885">14</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi00LTEtMS0xNDE3MDg_3eac69dc-633c-4487-b7b3-acfbac060e6d">32,201</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi02LTEtMS0xNDE3MDg_4156182a-4c27-4b82-8406-327dfa8b6ef2">25,827</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi04LTEtMS0xNDE3MDg_0d57f37a-acd5-49bc-9dbf-002a0b7b8d3f">6,374</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ia192fe5493fb461788270535d4bb2e57_D20220101-20221231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy0yLTEtMS0xNDE3MDg_2cb6bfd7-df85-4fe7-acf7-306e438f6605">6</ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy00LTEtMS0xNDE3MDg_3a362b47-4a80-489e-af20-4ceb573dde79">327</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy02LTEtMS0xNDE3MDg_c5cdb160-58fa-480d-b0b8-648883f940a6">23</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy04LTEtMS0xNDE3MDg_1849d8fe-f9de-4ef2-8adc-a0e6f17a687c">304</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC00LTEtMS0xNDE3MDg_e5295ea1-f14d-44a5-81de-26c94fb243b6">68,002</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC02LTEtMS0xNDE3MDg_b5a42795-f797-42c3-9ac1-b1ca655016e0">44,171</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC04LTEtMS0xNDE3MDg_68d20368-200d-4afd-8ba5-6ff89106b36d">23,831</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></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="text-align:justify"><span><br/></span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_52"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 5. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfMTk5NA_d0fabc41-a3c9-4086-bc49-965e9ac90cd4" continuedAt="iafb1ef853a954cb99e56e5d67021d06e" escape="true">Accounts Receivable</ix:nonNumeric></span></div><ix:continuation id="iafb1ef853a954cb99e56e5d67021d06e"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in reserves for uncollectible accounts, which are recorded as part of &#8220;Selling and administrative expenses&#8221; in the Condensed Consolidated Statements of Operations, were recorded as an expense of $<ix:nonFraction unitRef="usd" contextRef="if2b81add6d61480eb72836ee31510df6_D20230101-20230331" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfNjM1_376fdc93-86df-4a41-a2d7-75c6a4b8e4f5">155</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="ice04d81f07234651b69d44a0cd7cab27_D20220101-20220331" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfNjQy_ca8e722c-49cc-43d6-aee4-a6e2456cc708">61</ix:nonFraction> for the three months ended March 31, 2023 and 2022, 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company establishes the allowance for credit losses based on historical collection patterns and other subjective conditions as necessary, including current and expected market conditions. Trade receivables are pooled based on age, which groups receivables of similar credit risk together. Management maintains stringent credit review practices and works to maintain positive customer relationships to further mitigate credit risk.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfMTk5Mg_a02c0b1f-267f-4aef-87c7-56fa73ed8926" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMS0yLTEtMS0xMjU5MzM_8c8315e3-2cb8-420e-93e1-d7692ee042b2">813</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></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMi0yLTEtMS0xMjU5MzM_f3a4571f-9824-4a68-856a-ec9ffe0893e8">155</ix:nonFraction>&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMy0yLTEtMS0xMjU5MzM_e8c412cc-f1b6-4288-adb2-dc12eb150360">100</ix:nonFraction>)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfNS0yLTEtMS0xMjU5MzM_03e62b8a-be24-4b7f-9128-2c3b8e33e7e7">868</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></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></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_582"></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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="margin-bottom:3pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 6. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:InventoryDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90ZXh0cmVnaW9uOmNjYmQyZTE5MGU1YzRkM2E4YTU2M2QxOGE1YjliMGZmXzM4NDgyOTA2OTc1NDk_099dcdb2-914f-460a-aede-c3323db46335" continuedAt="i7d8ca5d65d8f4962845622ffc0cb382c" escape="true">Inventory</ix:nonNumeric></span></div><ix:continuation id="i7d8ca5d65d8f4962845622ffc0cb382c"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90ZXh0cmVnaW9uOmNjYmQyZTE5MGU1YzRkM2E4YTU2M2QxOGE1YjliMGZmXzM4NDgyOTA2OTc1NDg_be2b186d-f508-4d71-bc1e-0217ee3da2cf" continuedAt="i6b3bee2f6ca54c799ffcd40e0bbb70cf" escape="true">The Company&#8217;s components of inventory as of March&#160;31, 2023 and December&#160;31, 2022 are summarized in the following table:</ix:nonNumeric></span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><ix:continuation id="i6b3bee2f6ca54c799ffcd40e0bbb70cf"><table 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzEtMi0xLTEtMTQxNjQ4_de953096-bddd-4510-ac3f-a2417c6cca90">47,754</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzEtNC0xLTEtMTQxNjQ4_b4e2ce13-d0c9-4051-a820-ed815d4ff146">41,431</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzItMi0xLTEtMTQxNjQ4_8b63f73f-3cb1-461a-85f0-707b4f6826c6">8,844</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzItNC0xLTEtMTQxNjQ4_c05d0c2d-a90a-4e0b-a605-ef9a69610150">9,693</ix:nonFraction>&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzMtMi0xLTEtMTQxNjQ4_fce4d9f7-c314-4eec-981e-9c58e62adf0e">27,996</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzMtNC0xLTEtMTQxNjQ4_905fdb3e-601b-4db3-be18-e0eb4af3873c">24,597</ix:nonFraction>&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzQtMi0xLTEtMTQxNjQ4_fd26333e-45db-4c9c-b997-3f446364302c">84,594</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><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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzQtNC0xLTEtMTQxNjQ4_54564c53-6725-429d-a241-edfdf0f4a669">75,721</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_64"></div><div style="margin-bottom:3pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 7. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:DebtDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1NQ_e3080f5d-a533-4b96-8ccf-47e9c3c5b936" continuedAt="i71c77b2140084842915fda2bb5aa2afc" escape="true">Long-Term Debt and Related Matters</ix:nonNumeric></span></div><ix:continuation id="i71c77b2140084842915fda2bb5aa2afc"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1Ng_4af06017-f41e-49ca-b014-7a48502d87db" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:LineOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMS0yLTEtMS0xMjU5MzM_16af022c-63e6-4f68-ace4-b096a3725601">79,825</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:LineOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMS00LTEtMS0xMjU5MzM_b08f3b81-8866-4fe4-a657-010a738a06cb">91,567</ix:nonFraction>&#160;</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMy0yLTEtMS0xMjU5MzM_18d24798-0c7e-428e-84dd-c6886b4bd1e0">271</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMy00LTEtMS0xMjU5MzM_74760d97-1fad-4df1-a35b-8ff10df4a80f">312</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:DebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNC0yLTEtMS0xMjU5MzM_9ff6610e-1d55-4148-879b-250b45734afd">80,096</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:DebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNC00LTEtMS0xMjU5MzM_be842b77-a7c6-46d0-8f7e-77e688fc7cb1">91,879</ix:nonFraction>&#160;</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNS0yLTEtMS0xMjU5MzM_70e1a494-8af8-4c03-bd03-22b9d322194a">117</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNS00LTEtMS0xMjU5MzM_e5c5e2f9-809d-42cb-878c-a835756fac41">127</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNi0yLTEtMS0xMjU5MzM_203e7147-5d2e-45dd-bd0e-af36fd242e8f">79,979</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNi00LTEtMS0xMjU5MzM_b47e5c77-ec50-4a0f-a1f5-aafac3a1d465">91,752</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August&#160;13, 2021, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the &#8220;Borrowers&#8221;), entered into the Fourth Amended and Restated Credit Agreement (the &#8220;Credit Agreement&#8221;) with PNC Bank, N.A., Citizens Bank, N.A., Wells Fargo Bank, National Association, Bank of America, N.A., and BMO Harris Bank, National Association. The Credit Agreement, as amended, modifies the prior revolving credit facility, as amended, on terms more favorable to the Company and extends the maturity from April 30, 2024 to August&#160;13, 2026. The Credit Agreement provides for a <ix:nonNumeric contextRef="id1ee7d2f61844c62906cd9688b062537_D20210813-20210813" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1OQ_f80c0420-844f-4b43-bb7e-b55298c0d587">five-year</ix:nonNumeric>, revolving credit facility that permits aggregate borrowings of the Borrowers up to $<ix:nonFraction unitRef="usd" contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNzQ2_f47789e7-cd07-44c2-9f3d-9311cae66c91">130,000</ix:nonFraction> (a $<ix:nonFraction unitRef="usd" contextRef="i4cc8eae28bc84027955c7169814b3709_D20210813-20210813" decimals="-3" name="us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMzg0ODI5MDcwNTc4Mg_b32d201c-16a4-403e-a1d3-f12b00e414ab">15,000</ix:nonFraction> increase over the previous commitment) with a sublimit of the equivalent of $<ix:nonFraction unitRef="usd" contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813" decimals="-3" name="fstr:LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfODMx_d8d2f893-0078-4434-bcc2-ca125b90c2ef">25,000</ix:nonFraction> U.S. dollars that is available to the Canadian and United Kingdom borrowers in the aggregate. The Credit Agreement&#8217;s incremental loan feature permits the Company to increase the available commitments under the facility by up to an additional $<ix:nonFraction unitRef="usd" contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813" decimals="-3" name="fstr:LineOfCreditFacilityMaximumIncreaseInCommitments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMTA3Ng_777b34be-06fb-4360-877f-8133eef622b4">50,000</ix:nonFraction> subject to the Company&#8217;s receipt of increased commitments from existing or new lenders and the satisfaction of certain conditions.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement as amended, will bear interest at rates based upon either the base rate or SOFR rate plus applicable margins. The Credit Agreement includes <ix:nonFraction unitRef="covenant" contextRef="i5cad199d02584d47ba947b483e0c5e33_I20230331" decimals="INF" name="fstr:DebtInstrumentNumberOfFinancialCovenants" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNDk0NzgwMjMzMzE2NA_214c9404-eb31-42d5-8d26-deeea170098e">two</ix:nonFraction> financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company&#8217;s consolidated Indebtedness (as defined in the Credit Agreement) divided by the Company&#8217;s consolidated EBITDA, which must not exceed (i) <ix:nonFraction unitRef="number" contextRef="iec946c377c0f4c5db11cfaa6335f6a6a_I20210813" decimals="INF" name="fstr:DebtInstrumentCovenantLeverageRatioMaximum" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMjY4Nw_9d361e78-7dcd-44ee-b9bd-8c995921ec2f">3.25</ix:nonFraction> to 1.00 for all testing periods other than during an Acquisition Period  (as defined in the Credit Agreement), and (ii) <ix:nonFraction unitRef="number" contextRef="i0656019163c8485b830309ab3dedde3d_I20210813" decimals="INF" name="fstr:DebtInstrumentCovenantLeverageRatioMaximum" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMjc3MA_9c000cf0-11e2-4e1b-89ef-a2f0b7668de8">3.50</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 (as defined in the Credit Agreement), which must be more than <ix:nonFraction unitRef="number" contextRef="i23eb32e78fb84b219632afb41e17c9b1_I20210813" decimals="INF" name="fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMzA4NA_afa51cbf-be97-4818-af60-10dd6f77d2ff">1.05</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 12, 2022, the Company entered into a second amendment to its Credit Agreement (&#8220;Second Amendment&#8221;) to obtain approval for the VanHooseCo acquisition (as defined below) and temporarily modify certain financial covenants to accommodate the transaction. The Second Amendment permitted the Company to acquire the operating assets of VanHooseCo and modified the Maximum Gross Leverage Ratio covenant to <ix:nonFraction unitRef="number" contextRef="id0a992b75b7e481f8bd6f04e94c9df5f_I20220812" decimals="INF" name="fstr:DebtInstrumentCovenantLeverageRatioMaximum" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNDk0NzgwMjMzMzY5MA_97449448-2348-4adf-b7ec-86869bfc82ec">3.75</ix:nonFraction> through June 30, 2023 to accommodate the transaction.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023, 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="ie5924391378a4b42afddf688f200d930_I20230331" decimals="-3" name="us-gaap:LineOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTQ5NzU1ODIyMDIz_dac6793e-c862-4be4-b46d-4ff05516f446">1,084</ix:nonFraction>.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_67"></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',sans-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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="-sec-extract:summary;margin-bottom:3pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 8. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:EarningsPerShareTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMzAx_86145a91-d982-42d3-ad05-5a0201ddc9c2" continuedAt="i2483c41221ed4f34a3b817aceefc415b" escape="true">Earnings Per Common Share</ix:nonNumeric></span></div><ix:continuation id="i2483c41221ed4f34a3b817aceefc415b"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMzAz_f75f3e4f-828a-4798-814f-3ddf02dd7760" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted loss 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:75.288%"></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.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="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td 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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator for basic and diluted loss per common share:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMy02LTEtMS0xMjU5MzM_145595ee-da4b-4021-b794-f53b9baca888">2,171</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMy04LTEtMS0xMjU5MzM_2e6c485e-18d2-4997-aab0-daccb89d13b1">1,586</ix:nonFraction>)</span></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfNy02LTEtMS0xMjU5MzM_8367fb55-bcb0-4d70-8272-5e8b6f735c1c">10,792</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfNy04LTEtMS0xMjU5MzM_690215c2-6cc2-45ea-870f-249797340149">10,685</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic loss per common share</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfOC02LTEtMS0xMjU5MzM_4b74201e-afb4-4339-80ff-29af760a5f11">10,792</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfOC04LTEtMS0xMjU5MzM_8de76e1d-1dcf-4ed5-ab14-ca4a2550924e">10,685</ix:nonFraction>&#160;</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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted loss per common share - adjusted weighted average shares outstanding</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTItNi0xLTEtMTI1OTMz_66cca9ca-c165-44f6-bd65-cc5b0bc35d65">10,792</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTItOC0xLTEtMTI1OTMz_6c669606-3b9e-46bb-bbe9-57f1a112f9bd">10,685</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic loss per common share</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTUtNi0xLTEtMTI1OTMz_c1e5a4d5-314a-4ad1-a0f8-499255667bdd">0.20</ix:nonFraction>)</span></td><td style="background-color:#cceeff;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-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTUtOC0xLTEtMTI1OTMz_323062b5-1d35-4fe3-b1dc-f1ce004745e9">0.15</ix:nonFraction>)</span></td><td style="background-color:#cceeff;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:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted loss per common share</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTgtNi0xLTEtMTI1OTMz_fb0c49a5-15e3-4d6e-9085-c748ffebaef0">0.20</ix:nonFraction>)</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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTgtOC0xLTEtMTI1OTMz_24f81074-92cb-40b8-8a4a-4b87bfcc1b3e">0.15</ix:nonFraction>)</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display: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></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were <ix:nonFraction unitRef="shares" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMjA1_272a20fe-5c60-4214-af95-7b3b0c6bd234">101</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMjE5OTAyMzI1NTg5NA_0eeb5953-81f1-4ddb-a2de-b97a96bff302">122</ix:nonFraction> anti-dilutive shares for the three months ended March 31, 2023 and 2022, respectively, excluded from the calculation.</span></div></ix:continuation><div id="i8985b0fd6dd644ef84855313196ba4d5_70"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 9. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTI5Ng_20204dc1-bef1-4e4e-998f-a7967cd9fc11" continuedAt="ibd63d5d8716a4b55b1c49c6ddb92fbfc" escape="true">Income Taxes</ix:nonNumeric></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ibd63d5d8716a4b55b1c49c6ddb92fbfc">For the three months ended March 31, 2023 and 2022, the Company recorded an income tax benefit of $<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfOTI_f5e717e4-314e-4c09-91f6-7269dedb4ce1">541</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTEw_aeffc43f-5b7e-4907-8657-d4691094c4b8">508</ix:nonFraction>, respectively, on pre-tax losses of $<ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTQ5_e47a3303-afce-4aa7-a7a0-59ebc8faa286">2,712</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTc0_599d1d93-9bd9-4c88-8475-f7f114b60a5b">2,094</ix:nonFraction>, respectively, for an effective income tax rate of <ix:nonFraction unitRef="number" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMjI4_e3e7483a-f6cf-4d5b-8579-4ed2a5a1204f">19.9</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMjM1_de49e5b8-aa27-41d5-9749-88ce5d8aed55">24.3</ix:nonFraction>%, respectively. Due to the full valuation allowance on domestic deferred tax assets, the Company's tax provision for the three months ended March 31, 2023 does not reflect any tax benefit for domestic pre-tax losses, and is primarily comprised of taxes on our Canadian and United Kingdom operations. The Company continued to maintain a full valuation allowance against its U.S. deferred tax assets, which is likely to result in significant variability of the effective tax rate in the current year. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, could also impact the effective income tax rate each quarter.</ix:continuation> </span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_73"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 10. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzI5OQ_1d686272-1d85-4f7c-9061-01f25b70a596" continuedAt="i92f2d06804174f13a58d8a2535f2b3fd" escape="true">Stock-Based Compensation</ix:nonNumeric></span></div><ix:continuation id="i92f2d06804174f13a58d8a2535f2b3fd" continuedAt="icdbac3dfaf864e4ea01d74d284b139b3"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTky_00a2054d-cde9-4282-b60c-7c0c4df2a889"><ix:nonFraction unitRef="usd" contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTky_1400e938-a63d-4e06-acc1-43f8095e2aab">884</ix:nonFraction></ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="ieeccf59c4d014c0f9e6a4516f735c154_D20220101-20220331" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTk5_1771bf32-39ad-4407-a24e-4cccd0cf93fc"><ix:nonFraction unitRef="usd" contextRef="ic4d5d2dce02f4d9980504110fc5589ca_D20220101-20220331" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTk5_a79550c2-592c-432c-ac1d-10eea16ba09f">258</ix:nonFraction></ix:nonFraction> for the three months ended March 31, 2023 and 2022, respectively, related to restricted stock awards and performance unit awards. As of March&#160;31, 2023, unrecognized compensation expense for awards that the Company expects to vest approximated $<ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNzEy_20d0971a-461e-45dc-b39d-4383107a4d7b">7,388</ix:nonFraction>. The Company will recognize this unrecognized compensation expense over the upcoming <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNzgw_ab0d221a-b101-4a1b-ba1b-93892ec82156">2.9</ix:nonNumeric> years through March 2026.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shares issued as a result of vested stock-based compensation awards generally will be from previously issued shares that have been reacquired by the Company and held as treasury stock or authorized and previously unissued common stock.</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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock, Performance Share Units, and Performance-Based Stock Awards</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the 2022 Equity and Incentive Compensation Plan, successor to the 2006 Omnibus Plan, the Company grants eligible employees restricted stock and performance share units. The forfeitable restricted stock awards granted generally time-vest ratably over a <ix:nonNumeric contextRef="ifabcba39527245f1bba3fda32a7b2c1e_D20230101-20230331" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwMg_4eab297f-f22a-4075-9648-ef1aad078319">three-year</ix:nonNumeric> period, unless indicated otherwise by the underlying restricted stock award agreement. Awards of restricted stock are subject to a minimum <ix:nonNumeric contextRef="ib5db3a3c79d94af3be08dd365100beb8_D20230101-20230331" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzI5OA_6d703e4e-5e8e-4c58-997f-cc16e99dcc8a">one-year</ix:nonNumeric> vesting period, including those granted to non-employee directors. Performance share units are offered annually under separate <ix:nonNumeric contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwMw_c8902c2a-e4dd-4942-bf7e-fe8b5c63dc16">three-year</ix:nonNumeric> long-term incentive programs. Performance share units are subject to forfeiture and will be converted into common stock of the Company based upon the Company&#8217;s performance relative to performance measures and conversion multiples, as defined in the underlying program. The Company has, on occasion, issued performance share units with longer performance periods as incentivization and retention tools. If the Company&#8217;s estimate of the number of performance share units expected to vest changes in a subsequent accounting period, cumulative compensation expense could increase or decrease. The change will be recognized in the current period for the vested shares and would change future expense over the remaining vesting 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Since 2017, non-employee directors have been permitted to defer receipt of annual stock awards and equity elected to be received in lieu of quarterly cash compensation. If so elected, these deferred stock units will be issued as common stock <ix:nonNumeric contextRef="i31d5bc270ba642a3bcfeae8665897c82_D20230101-20230331" name="fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMjU0NQ_b2038d89-41c2-4ff1-8a48-2aae9a0ffc6f">six months</ix:nonNumeric> after separation from their service on the Board of Directors. Since 2018, no non-employee directors have elected the option to receive deferred stock units of the Company&#8217;s common stock in lieu of director cash compensation.</span></div></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><ix:continuation id="icdbac3dfaf864e4ea01d74d284b139b3"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2023, the Compensation Committee approved the 2023-2025 Long Term Incentive Plan which includes grants of performance share units and restricted stock. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwNQ_b5b6f68b-43ee-46a9-a2df-e782554c4479" continuedAt="i6a33ece2af764b1fb1bbc1b5f888f836" escape="true">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the three months ended March&#160;31, 2023:</ix:nonNumeric></span></div><div style="text-align:justify"><ix:continuation id="i6a33ece2af764b1fb1bbc1b5f888f836"><table 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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deferred<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3054a345d5fc4baeb4f71cc2da4fc7ef_I20221231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS0yLTEtMS0xMjU5MzM_cb39cabb-4c27-4b30-a29f-e5ec4c2cd254">174,173</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5912913655b04663a88c211af18eab5f_I20221231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS00LTEtMS0xMjU5MzM_dced9ea5-97f7-4a9d-844d-2d86f6c83a80">46,268</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i73845e2921ae4bbbb49b64bf6906cfd1_I20221231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS02LTEtMS0xMjU5MzM_13602fb6-fc71-4104-8452-669345619bd8">108,478</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS04LTEtMS0xMjU5MzM_42011205-4177-4322-b1c0-ca3ae7633781">17.77</ix:nonFraction>&#160;</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi0yLTEtMS0xMjU5MzM_a412ee7e-81d2-4db7-9b19-54c063610ade">139,990</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi00LTEtMS0xMjU5MzM_1178dd59-4d69-4284-bc23-1c6f299cd08d">&#8212;</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi02LTEtMS0xMjU5MzM_8571c7c3-926a-41b1-8ab6-834c1f411ccd">367,558</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi04LTEtMS0xMjU5MzM_32cad365-8826-456a-8b03-b92d23a78804">11.64</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></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy0yLTEtMS0xMjU5MzM_5fa1d4d9-1f9a-4390-9f67-7d1c92dae12f">57,329</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy00LTEtMS0xMjU5MzM_b723beac-90bf-4171-a0fb-1a209a16ff5c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy02LTEtMS0xMjU5MzM_8be793fb-748f-41bf-a518-bae14e69cca7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy04LTEtMS0xMjU5MzM_7b0ec133-af2f-4699-be69-a9aa11dbabf5">16.54</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment for incentive awards expected to vest</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331" decimals="INF" name="fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC0yLTEtMS0xMjU5MzM_d0f68b53-044f-4c80-9d12-70ef77dc9868">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331" decimals="INF" name="fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC00LTEtMS0xMjU5MzM_f614bf09-3ae2-455f-b811-2ab801f56f2a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331" decimals="INF" name="fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC02LTEtMS0xMjU5MzM_e002f330-2e46-42da-abeb-e555e3786ffa">20,104</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="2" name="fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC04LTEtMS0xMjU5MzM_9788cd37-0040-45be-84e5-97f1b1aa95b1">15.36</ix:nonFraction>&#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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic1c82693c60f4c23b3e9d8a4006cf4fb_I20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi0yLTEtMS0xMjU5MzM_88699416-f321-4b67-a179-8eb6fca98556">256,834</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i1ddb3375b8c34e8d9fc1ceb1a32c1e78_I20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi00LTEtMS0xMjU5MzM_64fdfb01-b6e8-4248-bd2b-c55085f21b03">46,268</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i1fc16b9c4dfd49ffb6d93d0601eb035d_I20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi02LTEtMS0xMjU5MzM_9bf38b20-a50b-4c3c-a5b2-bcd97b9bc091">496,140</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi04LTEtMS0xMjU5MzM_b779b0f0-3535-45ab-89fb-de056a4d1feb">14.61</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></tr></table></ix:continuation></div></ix:continuation><div id="i8985b0fd6dd644ef84855313196ba4d5_76"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 11. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:FairValueDisclosuresTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDU4MQ_0c742347-4d4a-40c2-94af-be8d95b9b588" continuedAt="i9d0e438682144a6f8e80db600623d4e9" escape="true">Fair Value Measurements</ix:nonNumeric></span></div><ix:continuation id="i9d0e438682144a6f8e80db600623d4e9"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines the fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level&#160;1: Observable inputs that reflect unadjusted 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level&#160;2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level&#160;3: 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',sans-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"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDU4Mw_6b40c98a-da1c-418d-b6cb-88f31055b812" escape="true"><table 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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</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',sans-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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term deposits</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0yLTEtMS0xMjU5MzM_ac93bf11-583e-40c3-8350-62b977d6d8e9">17</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi00LTEtMS0xMjU5MzM_bbea0c62-5554-4cd1-8ed3-b6c188b4b3ed">17</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi02LTEtMS0xMjU5MzM_ce9209ac-2f9f-4855-81a8-e0d28b0e6064">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi04LTEtMS0xMjU5MzM_04da2975-d5bc-4cbc-9e39-910b343d01de">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xMS0xLTEtMTI1OTMz_015761ce-813c-4111-8f7f-6c27f0e73908">17</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib568587e419145de9b541b247ee12e38_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xMy0xLTEtMTI1OTMz_a7aa55ef-ab65-4507-8eda-1db5cefb3509">17</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xNS0xLTEtMTI1OTMz_5f9dd35e-d2e8-4de1-9987-185d9dce72b8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xNy0xLTEtMTI1OTMz_f4ffa85b-edce-44d6-889b-4dd4406dbd48">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0wLTEtMS0xMjU5MzM_a2284e76-8e51-4d01-b40a-68d7797f7e76"><ix:nonNumeric contextRef="i6491aaeade364f539409a05361d2685e_D20220101-20221231" name="fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0wLTEtMS0xMjU5MzM_a59026a2-f03f-40d5-bd49-705964ad08cc">Interest rate swaps</ix:nonNumeric></ix:nonNumeric></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0yLTEtMS0xMjU5MzM_57b7db73-691d-40ba-a585-6fda63c71aca">1,511</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy00LTEtMS0xMjU5MzM_dde788c4-b9f4-4cab-b384-339efc3ba6bc">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy02LTEtMS0xMjU5MzM_09f47f80-b46f-4d37-aeaf-e3d39e289ecc">1,511</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy04LTEtMS0xMjU5MzM_ab971232-932a-43be-919f-cf444e1acef6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding: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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xMS0xLTEtMTI1OTMz_166c7c38-320c-4a3d-9b64-e9cad064f7e7">1,930</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib568587e419145de9b541b247ee12e38_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xMy0xLTEtMTI1OTMz_b6da5913-c0d8-4bd7-a172-dea1400b4ec3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xNS0xLTEtMTI1OTMz_1b1db69d-ab0a-45cc-8438-6a7ffe35ee45">1,930</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xNy0xLTEtMTI1OTMz_d779484f-566b-4c5e-86ad-d751cb687313">&#8212;</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0yLTEtMS0xMjU5MzM_32091bc1-a16e-412a-bf71-8a718fa4058b">1,528</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC00LTEtMS0xMjU5MzM_44e1d01e-315f-48cb-9122-6a90c22d7c15">17</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC02LTEtMS0xMjU5MzM_51b54d10-e6c6-44e2-b14b-b1189b9f9966">1,511</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC04LTEtMS0xMjU5MzM_ca36d466-c459-4452-a129-6e9949ca30c2">&#8212;</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><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-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xMS0xLTEtMTI1OTMz_f7686896-ce73-4537-89bc-7ad53962c940">1,947</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib568587e419145de9b541b247ee12e38_I20221231" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xMy0xLTEtMTI1OTMz_a04923c6-d746-4206-90b3-a3cc2c6ddb17">17</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xNS0xLTEtMTI1OTMz_85418e2c-ea6f-4de2-911b-674d3bbf0463">1,930</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xNy0xLTEtMTI1OTMz_e4686174-cd73-4e52-a774-d55c08ec5353">&#8212;</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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></ix:nonNumeric></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March&#160;31, 2023 and 2022, the Company recognized interest income of $<ix:nonFraction unitRef="usd" contextRef="ia5ebb139ce8e4e77b16ffb1cf78f6195_D20230101-20230331" decimals="-3" name="fstr:InterestIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfMjc0ODc3OTA3NzEyNw_2a8d84e1-251a-424e-8830-1465447bf9b4">245</ix:nonFraction> and interest expense of $<ix:nonFraction unitRef="usd" contextRef="i5a07a79a93c94edbabc309d9ec9ace8e_D20220101-20220331" decimals="-3" name="us-gaap:InterestExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDIwNA_fe86f331-210b-4904-b71f-4efc5b5498a2">97</ix:nonFraction>, respectively, from interest rate swaps.</span></div></ix:continuation><div id="i8985b0fd6dd644ef84855313196ba4d5_79"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 12. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3NQ_059ed8b5-9a7a-4083-92a1-57af633e9c01" continuedAt="ie5c9b82cca3d4ade9eaf6cd8d485a32a" escape="true">Retirement Plans</ix:nonNumeric></span></div><ix:continuation id="ie5c9b82cca3d4ade9eaf6cd8d485a32a" continuedAt="i03b3aeb773f34347b0855c4a1b51ac27"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Retirement Plans</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has <ix:nonFraction unitRef="plan" contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" decimals="INF" name="fstr:NumberOfRetirementPlans" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNjQ_857727c4-5510-4fa2-beaa-d290e28492fd">three</ix:nonFraction> retirement plans that cover its hourly and salaried employees in the United States: <ix:nonFraction unitRef="plan" contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" decimals="INF" name="fstr:DefinedBenefitPlanNumber" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTUx_ba92b712-69e3-4278-b751-7dfcb4ccaefd">one</ix:nonFraction> defined benefit plan, which is frozen, and <ix:nonFraction unitRef="plan" contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" decimals="INF" name="fstr:NumberOfDefinedContributionPlans" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3_33f1250c-9152-48b9-b883-fb9ad098a07a">two</ix:nonFraction> defined contribution plans. Employees are eligible to participate in the appropriate plan based on employment classification. The Company&#8217;s contributions to the defined benefit and 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.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains <ix:nonFraction unitRef="plan" contextRef="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331" decimals="INF" name="fstr:NumberOfDefinedContributionPlans" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNzE4_3b397682-709f-4481-8ee8-83521ed7ad2b">one</ix:nonFraction> defined contribution plan for its employees in Canada. In the United Kingdom, the Company maintains <ix:nonFraction unitRef="plan" contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" decimals="INF" name="fstr:NumberOfDefinedContributionPlans" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNDM5ODA0NjUxMzI2OQ_065a07aa-a036-4978-a35c-f275788b918c">two</ix:nonFraction> defined contribution plans and a defined benefit plan, which is frozen. These plans are discussed in further detail below.</span></div></ix:continuation><div style="margin-bottom:3pt"><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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><ix:continuation id="i03b3aeb773f34347b0855c4a1b51ac27"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">United States Defined Benefit Plan</span></div><ix:nonNumeric contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" name="us-gaap:ScheduleOfNetBenefitCostsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3Ng_5a0cede0-9684-4aee-ade5-d26a0d37ee79" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs for the United States defined benefit pension plan for the three months ended March 31, 2023 and 2022 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><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 colspan="3" style="display: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: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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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><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',sans-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 colspan="3" style="display: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="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfMy02LTEtMS0xMjU5MzM_88dcc9a7-8216-4dab-a436-fcac9428ec61">71</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfMy04LTEtMS0xMjU5MzM_7463b30c-ba80-424a-a4ee-a9023d326108">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></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',sans-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="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNC02LTEtMS0xMjU5MzM_1ae45505-4eab-4a25-b280-53efc2fe1cf2">64</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNC04LTEtMS0xMjU5MzM_62773370-ebdd-4bdb-a777-86081896e4e8">66</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNS02LTEtMS0xMjU5MzM_67d1b13b-c992-4534-a577-0c4d103fbf06">16</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNS04LTEtMS0xMjU5MzM_dd4b52d5-4612-4a31-9ce9-e4b3d845f84d">18</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension cost</span></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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNi02LTEtMS0xMjU5MzM_2d0a18f3-602a-4f27-942d-168630069def">23</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><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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNi04LTEtMS0xMjU5MzM_5f36a120-fcb2-4cec-8a27-3a477d329509">1</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company expects to make total contributions of $<ix:nonFraction unitRef="usd" contextRef="i8f48b19afaf0482797a80675aac94512_I20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTIwMw_4b87af09-5f14-4eb4-9c15-a6422c6388ba">400</ix:nonFraction> to its to its United States defined benefit pension plan during 2023.</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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">United Kingdom Defined Benefit Plan</span></div><ix:nonNumeric contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" name="us-gaap:ScheduleOfNetBenefitCostsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3OA_f3811ef1-70e5-461b-9f2a-7f29ba2f1ed0" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs for the United Kingdom defined benefit pension plan for the three months ended March 31, 2023 and 2022 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><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 colspan="3" style="display: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: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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 colspan="3" style="display: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="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMi02LTEtMS0xMjU5MzM_cbda4457-c9d4-4a67-b09f-a8b80ff74dd8">55</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMi04LTEtMS0xMjU5MzM_8988fdee-611a-4d2e-b0c2-8eca5da1a30a">45</ix:nonFraction>&#160;</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',sans-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="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMy02LTEtMS0xMjU5MzM_ac60a4b6-f0e4-4892-b8e0-f335e9e9a4f6">83</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMy04LTEtMS0xMjU5MzM_8493a032-d00b-4391-b36d-480bfdf3b058">81</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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',sans-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="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNC02LTEtMS0xMjU5MzM_5ba4c0be-c0d0-43d8-a006-4586399647e4">6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNC04LTEtMS0xMjU5MzM_bcb89b97-ffb5-472f-800d-ec087f4e696b">6</ix:nonFraction>&#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',sans-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="3" style="display:none"></td><td colspan="3" style="display:none"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNS02LTEtMS0xMjU5MzM_93bc0578-31f7-4568-a5e8-13948f3b2edf">3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNS04LTEtMS0xMjU5MzM_2d9b2d3e-f9b2-4f20-8d79-3807a0c1506b">42</ix:nonFraction>&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension (income) cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNi02LTEtMS0xMjU5MzM_0e7a80c2-8c13-4eb5-a9ec-cce2c0f1e868">19</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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNi04LTEtMS0xMjU5MzM_64f77292-ec11-44a6-9b64-15e733b75851">12</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></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom regulations require trustees to adopt a prudent approach to funding required contributions to defined benefit pension plans. For the three months ended March 31, 2023, the Company contributed approximately $<ix:nonFraction unitRef="usd" contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanContributionsByEmployer" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTU2MQ_b7b51ae4-ce56-4a8c-af1d-d0f5da9c5b84">84</ix:nonFraction> to the plan. The Company anticipates total contributions of approximately $<ix:nonFraction unitRef="usd" contextRef="i03aaeb010a994532b372833fdbda117a_I20230331" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTYzOA_9d55184d-6c46-40ab-b5c6-bc8560f30b01">340</ix:nonFraction> to the United Kingdom pension plan during 2023.</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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Defined Contribution Plans</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company sponsors <ix:nonFraction unitRef="plan" contextRef="if37f45c29c0947b7be845886c8bee4ec_D20230101-20230331" decimals="INF" name="fstr:NumberOfDefinedContributionPlans" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTczNg_6776b5e2-281c-4ad6-b961-3b1fcb66374c">five</ix:nonFraction> defined contribution plans for hourly and salaried employees across its domestic and international facilities. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3OQ_f1761435-3836-4311-b284-ee95238bd5ab" continuedAt="ia19df32883f746728d9b85fd6e13cb82" escape="true">The following table summarizes the expense associated with the contributions made to these plans for the periods presented:</ix:nonNumeric></span></div><div style="text-align:justify"><ix:continuation id="ia19df32883f746728d9b85fd6e13cb82"><table 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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMi0yLTEtMS0xMjU5MzM_758d816c-a7be-44bf-9cd2-72a97b9b94db">614</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMi00LTEtMS0xMjU5MzM_d750b60d-a7df-47b5-8e0a-b09a53442ade">305</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMy0yLTEtMS0xMjk3NjA_8d4b94e3-52f2-4ce5-a712-e7d6875ff4dc">62</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8b23aea0f1804af6bc31cee106d39ff2_D20220101-20220331" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMy00LTEtMS0xMjk3NzI_d884a006-4104-49eb-bb18-d92701f3f47c">61</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNC0yLTEtMS0xMjU5MzM_da28f7e9-d682-4281-ac9f-cd57e4f4e785">261</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNC00LTEtMS0xMjU5MzM_cf06bb8a-3c37-4312-8e91-5b209fdab158">135</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding: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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNS0yLTEtMS0xMjU5MzM_af12c089-485a-419d-bb83-9e207bed876b">937</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><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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331" decimals="-3" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNS00LTEtMS0xMjU5MzM_f6d1bc29-6bd0-4fbf-8d14-07b796c2504f">501</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><td colspan="3" style="display: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></ix:continuation></div></ix:continuation><div id="i8985b0fd6dd644ef84855313196ba4d5_82"></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 13. <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNjM0Mw_293eaac1-eb28-4222-815e-9dd80dc0917d" continuedAt="ia33a789126a24d16bd60b0d238c6d8c9" escape="true">Commitments and Contingent Liabilities</ix:nonNumeric></span></div><ix:continuation id="ia33a789126a24d16bd60b0d238c6d8c9" continuedAt="ie22cb5bee2ed4fb1ad448400e434ff5b"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Product Liability Claims</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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, which is adjusted on a monthly basis 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',sans-serif;font-size:10pt;font-style:italic;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',sans-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 pending litigation in the matter of </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, Case No. CI 15-564, in the District Court for Douglas County, Nebraska.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the Settlement Agreement, the Company and CXT will pay UPRR the aggregate amount of $<ix:nonFraction unitRef="usd" contextRef="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331" decimals="-3" name="us-gaap:LitigationSettlementAmountAwardedToOtherParty" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxNzQ0_df1bd123-0042-460f-886e-31d4947959f7">50,000</ix:nonFraction> without pre-judgment interest, which began with a $<ix:nonFraction unitRef="usd" contextRef="i6ccdd48888be4d76b22f81276d84307c_I20190313" decimals="-3" name="fstr:LitigationSettlementAmountAwardedToOtherPartyCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxNzk4_ec5a549c-c2f2-4cec-882c-c564c88da2b4">2,000</ix:nonFraction> immediate payment, and with the remaining $<ix:nonFraction unitRef="usd" contextRef="i6ccdd48888be4d76b22f81276d84307c_I20190313" decimals="-3" name="fstr:LitigationSettlementAmountAwardedToOtherPartyNonCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxODQ0_2ed9eddf-62ae-4162-bb5b-4520a74b0469">48,000</ix:nonFraction> paid in installments over a <ix:nonNumeric contextRef="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331" name="fstr:LitigationSettlementInstallmentPaymentTerm" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNDk0NzgwMjMzNTE0OQ_dd77e419-e37d-4069-82e8-3bedb506a1ca">six-year</ix:nonNumeric> period </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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><ix:continuation id="ie22cb5bee2ed4fb1ad448400e434ff5b"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. Additionally, commencing in January 2019 and through December 2024, UPRR agreed to purchase and has been purchasing from the Company and its subsidiaries and affiliates, a cumulative total amount of $<ix:nonFraction unitRef="usd" contextRef="i2901e860fe3b44048e366c92e31ac929_D20190313-20190313" decimals="-3" name="us-gaap:LongTermPurchaseCommitmentAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzk2_98d42948-e97a-4932-a18c-f7df2f7abd3e">48,000</ix:nonFraction> of products and services, targeting $<ix:nonFraction unitRef="usd" contextRef="i88a60ef531c44caeb3094fe0a0f1d324_I20190313" decimals="-3" name="fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzky_aed982b5-c27b-43a8-844f-cebbcdb13d2a">8,000</ix:nonFraction> of annual purchases per year beginning March 13, 2019 per letters of intent under the Settlement Agreement. During the third quarter of 2021, in connection with the Company&#8217;s divestiture of its Piling Products division, the targeted annual purchases per year have been reduced to $<ix:nonFraction unitRef="usd" contextRef="i9efa7996f27a4a84b08c787505291a52_I20210930" decimals="-3" name="fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzg4_4819a713-1efa-4bb3-8f71-6224e13e0a4e">6,000</ix:nonFraction> for 2021 through 2024. The Settlement Agreement also includes a mutual release of all claims and liability regarding or relating to all CXT pre-stressed concrete railroad ties with no admission of liability and dismissal of the litigation with prejudice.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNjMzOA_31ed003f-8f48-4269-8f86-c35088775381" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected payments under the UPRR Settlement Agreement for the remainder of the year ending December&#160;31, 2023 and thereafter are 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><td style="width:87.233%"></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.012%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ending December 31,</span></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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfMS0yLTEtMS0xMjU5MzM_ae05788f-75dd-4d72-a3e4-871c49425383">8,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfMi0yLTEtMS0xMjU5MzM_6cd89670-446e-4fd1-9b0e-922e4fd9373a">8,000</ix:nonFraction>&#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></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><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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" decimals="-3" name="us-gaap:LitigationSettlementAmountAwardedToOtherParty" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfNy0yLTEtMS0xMjU5MzM_e6b58fb8-d165-426c-b640-d3ce0341d546">16,000</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></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Environmental and Legal Proceedings</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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="if9631e06a9af44149a25f259886981f3_I20170605" decimals="-1" name="fstr:NumberOfCompaniesReceivingGeneralNoticeLetter" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMjgxNw_f7c1c3a5-c8db-42e2-9947-a9a73f51ba3a">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="id6663316f78349588622c6997f0c313e_I20230331" decimals="-8" name="fstr:PresentValueOfProposedRemedialWork" format="ixt:num-dot-decimal" scale="9" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzEwOQ_cc1415b2-fd2a-43b0-863e-711bd9353b4c">1.1</ix:nonFraction> billion and $<ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-8" name="fstr:UndiscoveredRemedialWork" format="ixt:num-dot-decimal" scale="9" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzExNg_9c752dc9-0e3b-4a2e-8585-c9a4f3a56731">1.7</ix:nonFraction> billion, respectively, and the remedial work is expected to take as long as <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="fstr:RemedialWorkAnticipatedCleanUpPeriod" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzE4Nw_833b7a50-971c-4346-8fa7-5b8c4c8423e2">13</ix:nonNumeric> years to complete. 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="potentially_responsible_party" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-2" name="fstr:NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzU2Nw_09d0b013-ed41-4755-8345-624dbbe7170e">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="i29c0c6abf606419989d3a89721acf83e_I20200326" decimals="INF" name="fstr:NumberOfPartiesRequiredToPerformRemedialWork" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzg0ODI5MDcwNzQwMA_bf1d59a1-6550-4b20-853e-9cbef58b95d7">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. The Company cannot predict the ultimate impact of these proceedings 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 <ix:nonNumeric contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331" name="fstr:EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNDk0NzgwMjMzNTE1Mw_2ead225b-7b49-4a50-8469-2605d897485a">financial condition</ix:nonNumeric>, 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 March&#160;31, 2023 and December&#160;31, 2022, the Company maintained environmental reserves approximating $<ix:nonFraction unitRef="usd" contextRef="id6663316f78349588622c6997f0c313e_I20230331" decimals="-3" name="us-gaap:AccrualForEnvironmentalLossContingencies" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTA5NA_c9d91102-0b28-486f-9698-c74c23f39204">2,448</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231" decimals="-3" name="us-gaap:AccrualForEnvironmentalLossContingencies" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTEwMQ_01c4640e-836a-47c6-ad6e-1ea4d124adfc">2,472</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',sans-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 March&#160;31, 2023.</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',sans-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 March&#160;31, 2023, 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%">        Item&#160;2. </span><span style="color:#000000;font-family:'Times New Roman',sans-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 style="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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 are located in &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; (&#8220;MD&amp;A&#8221;). Forward-looking statements provide management&#8217;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&#8217;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, 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: the COVID-19 pandemic, and 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; volatility in the prices of oil and natural gas and the related impact on the midstream energy markets, which could result in cost mitigation actions, including shutdowns or furlough periods; a continuation or worsening of the adverse economic conditions in the markets we serve, including recession, whether as a result of the current COVID-19 pandemic or otherwise, including its impact on labor markets, supply chains, and other inflationary costs, travel and demand for oil and gas, the continued volatility in the prices for oil and gas, governmental travel restrictions, project delays, and budget shortfalls, or otherwise; 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 continuing decrease in freight or transit rail traffic, including as a result of the ongoing COVID-19 pandemic, strikes, or labor stoppages; environmental matters, 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, and trade restrictions or embargoes; our ability to effectuate our strategy, including cost reduction initiatives, and our ability to effectively integrate acquired businesses or to divest businesses, such as the recent dispositions of the Piling, Track Components, and Chemtec businesses, and acquisitions of the Skratch Enterprises Ltd., Intelligent Video Ltd., and VanHooseCo Precast LLC businesses and to realize anticipated benefits; costs of and impacts associated with shareholder activism; continued customer restrictions regarding the on-site presence of third party providers due to the COVID-19 pandemic; the timeliness and availability of materials from our major suppliers, including any continuation or worsening of the disruptions in the supply chain experienced as a result of the COVID-19 pandemic, 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; cyber-security 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; 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, and reforms regarding the use of SOFR as a benchmark for establishing applicable interest rates; 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; economic conditions and regulatory changes caused by the United Kingdom&#8217;s exit from the European Union; geopolitical conditions, including the conflict in Ukraine; a lack of state or federal funding for new infrastructure projects; an increase in manufacturing or material costs; the loss of future revenues from current customers; 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&#160;31, 2022, or as updated and/or amended by our other current or periodic filings with the Securities and Exchange Commission.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">General Overview and Business Update</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of the Quarter</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:40.566%"></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.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.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.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.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.015%"></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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Percent<br/>Change</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Percent of Total Net Sales<br/>Three Months Ended<br/>March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023 vs. 2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488&#160;</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,794&#160;</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:-0.01pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,291&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,447&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,423&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,298&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,365&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,436&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4.9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.5&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating profit (loss)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">503&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,287)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122.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"></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.4&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2.3)</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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,388&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">370&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">**</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other expense (income) - net</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,827&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(563)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">**</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,712)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,094)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29.5)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2.3)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2.1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax benefit</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(541)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(508)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6.5)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,171)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,586)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36.9)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:left;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.9)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:left;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.6)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.0)</span></td><td style="background-color:#ffffff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to L.B. Foster Company</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,152)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,566)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(37.4&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted loss per common share</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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.15)</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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 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></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:120%">** Results of the calculation are not considered meaningful for presentation purposes.</span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">L.B. Foster Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company&#8217;s innovative engineering and product development solutions address the safety, reliability, and performance needs of its customers&#8217; most challenging requirements. The Company maintains locations in North America, South America, Europe, and Asia. The Company is organized and operates in three reporting segments: Rail, Technologies, and Services, Precast Concrete Products, and Steel Products and Measurement.</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Acquisition and Divestiture Summary</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 12, 2022, the Company acquired the operating assets of VanHooseCo Precast, LLC (&#8220;VanHooseCo&#8221;), a business specializing in precast concrete walls, water management products, and forms for the commercial and residential infrastructure markets for $52,146 net of cash acquired. VanHooseCo has been included in the Company&#8217;s Precast Concrete Products 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 21, 2022, the Company acquired the stock of Skratch Enterprises Ltd. (&#8220;Skratch&#8221;) for $7,402, which is inclusive of deferred payments withheld by the Company of $1,228, to be paid over the next four years or utilized to satisfy post-closing working capital adjustments or indemnity claims under the purchase agreement. Skratch is an industry leader in digital system integration with expertise in advanced digital display technologies and capabilities currently serving retail markets in the U.K. Skratch is reported within the Technology Services and Solutions business unit in the Rail, Technologies, and Services 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 1, 2022, the Company divested the assets of its Track Components business. Cash proceeds from the transaction were $7,795, subject to indemnification obligations and working capital adjustments and a loss on sale of $467 was recorded in &#8220;Other expense (income) - net.&#8221; The Track Components business was reported in the Rail Products business unit within the Rail, Technologies, and Services 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC (&#8220;Chemtec&#8221;) business for $5,344 in proceeds, subject to final working capital adjustments, generating a $2,033 loss on sale, recorded in &#8220;Other expense (income) - net.&#8221; The Chemtec business was reported in the Coatings and Measurement business unit within the Steel Products and Measurement 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',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results Summary</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales of $115,488 for the three months ended March 31, 2023 increased by $16,694, or 16.9%, over the prior year quarter. The change in sales is due in part to the acquisitions of Skratch and VanHooseCo offset by the divestiture of the Track Components business.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Organic growth and acquisitions drove a 11.5% and 9.3% increase in sales over the prior year quarter, respectively, with an offsetting 3.9% decline from divestitures. </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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit for the three months ended March 31, 2023 was $23,291, an increase of $6,844 over the prior year quarter, or 41.6%, and gross profit margins expanded by 360 basis points to 20.2%. The improvement in gross profit is due to the portfolio changes that are a part of the Company&#8217;s strategic transformation plan along with improved product mix and pricing.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling and administrative expenses for the three months ended March 31, 2023 increased by $4,125, or 23.8%, from the prior year quarter, due in part to the acquisition of VanHooseCo and Skratch, as well as higher personnel expenses. Selling and administrative expenses as a percent of net sales were 18.5% versus 17.5% in the prior year quarter, a 100 basis point increase. The recent acquisitions have a higher margin portfolio and higher selling and administrative costs.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other expense - net for the three months ended March 31, 2023 was $1,827 while other income - net was $563 in the prior year quarter. Other expense - net for the three months ended March 31, 2023 was due to the $2,033 loss on the sale of Chemtec during the 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s effective income tax rate for the three months ended March&#160;31, 2023 was 19.9%, compared to 24.3% in the prior year quarter. Due to the full valuation allowance on domestic deferred tax assets, the Company&#8217;s tax provision for the three months ended March 31, 2023 does not reflect any tax benefit for domestic pre-tax losses, and is primarily comprised of taxes related to our Canadian and United Kingdom operations.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net loss for the three months ended March 31, 2023 attributable to the Company was $2,152, or $0.20 per diluted share, unfavorable by $586, or $0.05 per diluted share, from the prior year quarter. The loss was primarily driven by the $2,033 loss on the sale of Chemtec during the three months ended March 31, 2023, which offset stronger comparable operating profit stemming from margin expansion.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company continues to execute its strategic transformation into a technology-focused, high growth infrastructure solutions provider, as evidenced by the number of recent portfolio actions taken, including the sale of Chemtec, which minimizes the Company's exposure to the energy market and allows for additional capacity to focus on its core growth platforms in Rail Technologies and Precast Concrete, and an increased focus on organic growth initiatives and debt reduction going into 2023. Proceeds from the Chemtec sale have contributed to the pay down of debt during the quarter and increased capacity under the credit agreement to further support its strategic initiatives.</span></div><div style="margin-top:6pt;text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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="margin-bottom:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">First Quarter 2023 Compared to First Quarter 2022</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',sans-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><td style="width:44.455%"></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.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.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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Change</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',sans-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><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023 vs. 2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023 vs. 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">674&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.1&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,284&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,528&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,756&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit percentage</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,388&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,039&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,349&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating profit percentage</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Rail, Technologies, and Services segment sales for the three months ended March 31, 2023 increased by $674, or 1.1%, compared to the prior year quarter. Net sales increased by 5.8% organically and by 1.3% from the acquisition of Skratch, offset by a 6.1% decrease from the divestiture of Track Components.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> T</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">he Global Friction Management business unit increase in sales was offset by sales decreases in the Technology Services and Solutions business unit. The Friction Management sales increase was driven by strength in domestic markets served. The sales decrease in the Technology Services and Solutions business unit was driven by the completion of the multi-year Crossrail project in late 2022.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Rail, Technologies, and Services segment gross profit increased by $1,756, or 14.0% over the prior year quarter, and gross profit margins expanded 250 basis points to 22.2%. Gross profit increases in Rail Products and Global Friction Management were commensurate with higher sales levels, while weaker sale in Technology Services and Solutions drove a partially offsetting gross profit decline. The improvement in gross profit is due to the portfolio changes that are a part of the Company&#8217;s strategic transformation along with increased sales in the higher margin Global Friction Management business along with improved pricing. Operating profit was $2,388, a $1,349 increase over the prior year quarter, due primarily to higher gross profit levels.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the current quarter, the Rail, Technologies, and Services segment had a decrease in new orders of $17,664, or 19.3%, compared to the prior year period. The decrease is due primarily to differences in customer order timing in the Rail Distribution business, as well as an unfavorable impact of $4,805 due to the Track Components divestiture. Backlog as of March&#160;31, 2023 was $113,593, a decrease of $9,325, or 7.6%, versus the prior year quarter, $2,531 of which is related to the divested Track Components division.</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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Precast Concrete Products</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:44.455%"></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.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.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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Change</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',sans-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><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023 vs. 2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023 vs. 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,278&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61.8&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,445&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,076&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit percentage</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(348)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(791)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">443&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating loss percentage</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Precast Concrete Products segment sales for the three months ended March 31, 2023 increased by $9,278, or 61.8%, compared to the prior year quarter. The VanHooseCo acquisition contributed $8,299, or 55.3%, of the increase in sales over the prior year quarter. Organic sales increased by $979, or 6.5%, which is a continued reflection of the strong demand environment in the southern and northeastern United States markets.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Precast Concrete Products segment's gross profit for the three months ended March 31, 2023 increased by $3,076, and gross profit margins expanded by 640 basis points to 22.7%. The improvement in gross profit is due to the VanHooseCo acquisition as well as overall sales volumes and stronger margins from the legacy precast business, including the impact of improved pricing. Operating loss for the first quarter of 2023 was $348, a $443 improvement over the prior year quarter, due to higher gross profit levels, which was partially offset by an increase in selling and administrative expenses from the VanHooseCo acquisition, as well as increased personnel 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the quarter, the Precast Concrete Products segment had an increase in new orders and backlog of 89.2% and 21.2%, respectively, compared to the prior year quarter. The increase in new orders and backlog is due to the VanHooseCo acquisition and strong demand in the legacy business.</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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Steel Products and Measurement</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:44.455%"></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.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.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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Change</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',sans-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><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023 vs. 2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023 vs. 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,816&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,074&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,742&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33.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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,474&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,012&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit percentage</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,148)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Segment operating loss percentage</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10.7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Steel Products and Measurement segment sales for the three months ended March 31, 2023 increased by $6,742, or 33.6%, compared to the prior year quarter. The increase in sales for the first quarter of 2023 was attributable to the $8,819 increase in Coatings and Measurement sales over the prior year quarter, due to increased activity in both traditional and adjacent market applications. This increase was partially offset by a decrease in Fabricated Steel Products business unit sales of $2,087.</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',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Steel Products and Measurement gross profit for the three months ended March 31, 2023 increased by $2,012, and gross profit margins increased 570 basis points to 13.0%. The increase in gross profit is primarily due to stronger margins in the Protective Coatings division attributable to higher volumes. The segment operating loss was reduced $2,140 from the prior year quarter, due to higher gross profit levels.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the quarter, the Steel Products and Measurement segment had an increase in new orders and backlog of $4,697, or 18.9%, and $9,220, or 18.7%, respectively, compared to the prior year quarter. The increase is a result of improved order levels in the Fabricated Steel Products business unit and the Protective Coatings division due to strong demand in both traditional and adjacent market applications. The backlog increase was partially offset by a $5,657 decrease due to the Chemtec divestiture. </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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></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',sans-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',sans-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, which provides for a total commitment of up to $130,000, of which $49,091 was available for borrowing as of March&#160;31, 2023, subject to covenant restrictions. The Company&#8217;s primary needs for liquidity relate to working capital requirements for operations, capital expenditures, debt service obligations, payments related to the Union Pacific Railroad Settlement, and acquisitions. The Company&#8217;s total debt, including finance leases, was $80,096 and $91,879 as of March&#160;31, 2023 and December&#160;31, 2022, 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reflects available funding capacity, subject to covenant restrictions, as of March&#160;31, 2023:</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.566%"></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.355%"></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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,639&#160;</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',sans-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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(79,825)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,084)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><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',sans-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><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,091&#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',sans-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><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-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,730&#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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s cash flows are impacted from period to period by fluctuations in working capital, as well as its overall profitability. While the Company places an emphasis on working capital management in its operations, factors such as its contract mix, commercial terms, days sales outstanding (&#8220;DSO&#8221;), 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 March&#160;31, 2023, but adverse changes in the economic environment and adverse financial conditions of its customers may impact certain of its customers&#8217; ability to access capital and pay 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in cash and cash equivalents for the three months ended March&#160;31, 2023 and 2022 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><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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,932&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,636)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by (used in) investing activities</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,661&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(539)</span></td><td style="background-color:#ffffff;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',sans-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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,022)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,012&#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',sans-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><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">186&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net decrease in cash and cash equivalents</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(243)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,133)</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="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Flow from Operating Activities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended March 31, 2023, net cash provided by operating activities was $6,932, compared to cash used in operating activities of $7,636 during the prior year period. For the three months ended March 31, 2023, net loss and adjustments to reconcile net loss from operating activities provided $3,352, compared to $1,408 in the prior year period. Working capital and other assets and liabilities provided $3,580 in the current period, compared to using $9,044 in the prior year period. The Company received $2,967 during the three months ended March 31, 2023 associated with its federal income tax refund claims, which have now been collected in full.</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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Flow from Investing Activities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capital expenditures for the three months ended March 31, 2023 and 2022 were $699 and $1,764, respectively. The current period expenditures primarily relate to general plant and operational improvements throughout the Company, including corporate system and facility improvements. Expenditures for the three months ended March 31, 2022 primarily related to the implementation of the enterprise resource planning system at additional Company divisions and general plant and operational improvements throughout the Company. On March 30, 2023, the Company divested the assets of its Chemtec business, generating a cash inflow of $5,344 during the three months ended March 31, 2023.</span></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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Flow from Financing Activities</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended March 31, 2023 and 2022, the Company had a decrease in outstanding debt of $12,047 and an increase of $4,409, respectively. The decrease in debt for the three months ended March 31, 2023 was due to both stronger operating cash flows as well as proceeds received from the Chemtec divestiture during the quarter. The increase in debt for the 2022 period was the result of funding working capital and other assets and liabilities. Treasury stock acquisitions of $309 and $397 for the three months ended March 31, 2023 and 2022, respectively, represent stock repurchases from employees to satisfy their income tax withholdings in connection with the vesting of stock awards.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the first quarter of 2023, the Company&#8217;s Board of Directors authorized the repurchase of up to $15,000 of the Company&#8217;s common stock in open market transactions through February 2026. Repurchases are limited to up to $5,000 in any trailing 12-month period, with unused amounts carrying forward to future periods through the end of the authorization. Any repurchases will be subject to the Company&#8217;s liquidity, including availability of borrowings and covenant compliance under its revolving credit facility, and other capital needs of the business.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No shares were repurchased in the first quarter of 2023 as part of the stock repurchase 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',sans-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="margin-bottom:3pt"><span><br/></span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financial Condition</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023, the Company had $2,639 in cash and cash equivalents. The Company&#8217;s cash management priority continues to be short-term maturities and the preservation of its principal balances. As of March&#160;31, 2023, approximately $2,136 of the Company&#8217;s cash and cash equivalents were held in non-domestic bank accounts. The Company principally maintains its cash and cash equivalents in accounts held by major banks and financial institutions.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s principal uses of cash have been to fund its operations, including capital expenditures, acquisitions, and to service its indebtedness. The Company views its liquidity as being dependent on its results of operations, changes in working capital needs, and its borrowing capacity. As of March&#160;31, 2023, the Company's revolving credit facility had $49,091 of net availability, while the Company had $80,096 in total debt. </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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August&#160;13, 2021, the Company entered into the Credit Agreement, which increased the total commitments under the revolving credit facility to $130,000 from $115,000, extended the maturity date from April&#160;30, 2024 to August&#160;13, 2026, and provided more favorable covenant terms. Borrowings under the Credit Agreement bear interest rates based upon either the base rate or SOFR rate plus applicable margins. The Company believes that the combination of its cash and cash equivalents, cash generated from operations, and the capacity under its revolving credit facility should provide the Company with sufficient liquidity to provide the flexibility to operate the business in a prudent manner and enable the Company to continue to service its outstanding debt. On August 12, 2022, the Company amended its Credit Agreement to obtain approval for the VanHooseCo acquisition and temporarily modify certain financial covenants to accommodate the transaction. The Second Amendment permitted the Company to acquire the operating assets of VanHooseCo and modified the maximum Gross Leverage Ratio covenant to 3.75 through June 30, 2023 to accommodate the transaction. The Second Amendment also added an additional tier to the pricing grid and provided for the conversion from LIBOR-based to SOFR-based borrowings. 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',sans-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 amended and 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.</span></div><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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Backlog</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total Company backlog is summarized by business segment in the following table 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:63.900%"></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.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.355%"></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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Backlog</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113,593&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,241&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,918&#160;</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,737&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,501&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72,369&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,551&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86,509&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,331&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total backlog </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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">259,881&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">272,251&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">244,618&#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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s backlog represents the sales price of received customer purchase orders and any contracts for which the performance obligations have not been met, and therefore are precluded from revenue recognition. Although the Company believes that the orders included in backlog are firm, customers may cancel or change their orders with limited advance notice; however, these instances have been rare. Backlog should not be considered a reliable indicator of the Company&#8217;s ability to achieve any particular level of revenue or financial performance. While a considerable portion of the Company&#8217;s business is backlog-driven, certain product lines within the Company are not driven by backlog as the orders are fulfilled shortly after they are received.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company defines new orders 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.</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Condensed Consolidated Financial Statements have been prepared in conformity with accounting principles generally accepted in the United States. When more than one accounting principle, or method of its application, is generally accepted, management selects the principle or method that, in its opinion, is appropriate in the Company&#8217;s specific circumstances. Application of these accounting principles requires management to reach opinions regarding estimates about the future resolution of existing uncertainties. As a result, actual results could differ from these estimates. In preparing these financial statements, management has reached its opinions regarding the best estimates and judgments of the amounts and disclosures included in the financial statements giving due regard to materiality. A summary of the Company&#8217;s critical accounting policies and estimates is included in Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations - Critical Accounting Policies and Estimates in the Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2022.</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_91"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;3. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This item is not applicable to a smaller reporting company.</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_94"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;4. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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 March&#160;31, 2023. 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 such 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="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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&#160;three months ended March&#160;31, 2023, and that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</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',sans-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',sans-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 id="i8985b0fd6dd644ef84855313196ba4d5_97"></div><div style="margin-bottom:3pt;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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Dollars in thousands, except share data)</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_100"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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="i8985b0fd6dd644ef84855313196ba4d5_103"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1A. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This item is not applicable to a smaller reporting company.</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_106"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;2. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s purchases of equity securities for the three months ended March 31, 2023 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><td style="width:41.122%"></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:12.788%"></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:12.788%"></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:12.788%"></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:12.794%"></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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total number of shares purchased (1)</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',sans-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><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total number of shares purchased as part of publicly announced plans or programs (2)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 1, 2023 - January 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,126&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.49&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 1, 2023 - February 28, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,632&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.80&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,000&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2023 - March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,687&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.52&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,000&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,445&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.64&#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="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,000&#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="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Reflects shares withheld by the Company to pay taxes upon vesting of restricted stock.</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">On March 3, 2023, the Board of Directors authorized the repurchase of up to $15,000 of the Company&#8217;s common shares until February 2026.</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_109"></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;3. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_112"></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;4. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This item is not applicable to the Company.</span></div><div id="i8985b0fd6dd644ef84855313196ba4d5_115"></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;5. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Other Information</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_118"></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',sans-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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_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',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;6. </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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><td style="width:10.427%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.772%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:86.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*10.1</span></td><td colspan="3" style="padding:0 1pt"></td><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-101q12023.htm">2023 Executive Annual Incentive Plan.</a></span></div></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></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*10.2</span></td><td colspan="3" style="padding:0 1pt"></td><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-102q12023.htm">Form of Restricted Stock Award Agreement (2023).</a></span></div></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></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*10.3</span></td><td colspan="3" style="padding:0 1pt"></td><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-103q12023.htm">Form of Performance Share Unit Award Agreement and Long Term Incentive Performance Share Unit Program (2023-2025).</a></span></div></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></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*31.1</span></td><td colspan="3" style="padding:0 1pt"></td><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-311q12023.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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*31.2</span></td><td colspan="3" style="padding:0 1pt"></td><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-312q12023.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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*32.0</span></td><td colspan="3" style="padding:0 1pt"></td><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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex-320q12023.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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*101.INS</span></td><td colspan="3" style="padding:0 1pt"></td><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',sans-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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*101.SCH</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*101.CAL</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*101.DEF</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*101.LAB</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*101.PRE</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*104</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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><td style="width:9.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:88.345%"></td><td style="width:0.1%"></td></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exhibits marked with an asterisk are filed herewith.</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="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><div id="i8985b0fd6dd644ef84855313196ba4d5_121"></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',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i8985b0fd6dd644ef84855313196ba4d5_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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><td style="width:4.038%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.372%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.735%"></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: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"><span style="color:#000000;font-family:'Times New Roman',sans-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><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"><span style="color:#000000;font-family:'Times New Roman',sans-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><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></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',sans-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',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">May 10, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-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><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"><span style="color:#000000;font-family:'Times New Roman',sans-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><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior Vice President</span></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"><span style="color:#000000;font-family:'Times New Roman',sans-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><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"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.1
<SEQUENCE>2
<FILENAME>ex-101q12023.htm
<DESCRIPTION>EX-10.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i96f3775aa07042c2a39dcbb1147b936c_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit 10.1</font></div><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">Annual Executive Incentive </font></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">Compensation Plan (ExIP)</font></div><div><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:14pt;font-style:italic;font-weight:700;line-height:100%">L. B. FOSTER COMPANY<br></font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%"> ANNUAL EXECUTIVE INCENTIVE COMPENSATION PROGRAM</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">2023</font></div><div style="text-align:center"><font><br></font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The purpose of this document is to establish in writing the performance goals and other terms applicable to cash financial performance awards for each fiscal year of the Company which constitutes a Performance Period (the &#8220;Program&#8221;) as authorized under the L.B. Foster Company Executive Annual Incentive Compensation Plan (&#8220;ExIP&#8221;).</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">I.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">  </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">DEFINITIONS</font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">a.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">Defined terms used but not defined herein shall have the meanings ascribed to them in the Executive Incentive Plan master document under which each annual Program is established.</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">II.  </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">TERMS AND CONDITIONS</font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">a.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">Unless otherwise determined by the Compensation Committee, the Performance Period shall be one calendar year. </font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">b.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">Each Participant shall receive a cash award in an amount equal to Participant&#8217;s base compensation multiplied by a target percentage established by the Committee based upon the position held by the Participant as approved by the Compensation Committee and set forth on Exhibit B, on file with the Committee (the &#8220;Target Percentage&#8221;) (an &#8220;Award&#8221;).  The amount of any Award earned and payable is calculated with reference to the percentage achievement of certain Performance Measures established by the Committee and as described below.</font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">c.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8.67pt">Participant&#8217;s base compensation shall be the Participant&#8217;s salary on March 1 of the applicable Performance Period, rounded to the nearest whole dollar.</font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">d.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">Participants in the Program are listed on Exhibit B on file with the Committee, which identifies each Participant&#8217;s title and Company operating unit, and Target Percentage for the applicable Performance Period.</font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">e.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">A Participant&#8217;s right, if any, to receive payout of an Award, if earned, shall be contingent upon Participant having executed a Confidentiality, Intellectual Property and Non-Compete Agreement in a form satisfactory to the Committee.   Further, in order to receive any payout of an Award, the Participant must have begun employment with the Company by October 1 of the Program&#8217;s Performance Period.  </font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">f.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:11.34pt">In the event a Participant changes from one position to another position or is promoted into one of the positions approved by the Committee during the Performance Period, the Target Percentage and base compensation for such Participant shall be pro-rated as applicable to each position held during the Performance Period, and such Award will be determined on the pro-rated basis based on the number of full months employed during the Performance Period.  </font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">g.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">In order to be eligible to receive any payout of an Award, if earned, a Participant must be actively employed by the Company on the date the Award is paid.   In no event is a Participant entitled to any pro-rata payment of an Award under the terms of this Program, except to the extent the Board has approved a Participant&#8217;s retirement or termination from the Company, in which case the Committee may </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:43.108%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"><div><font><br></font></div></td></tr></table></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">provide a pro-rata payment based on the Participant&#8217;s active employment before the Board-approved retirement or termination.   </font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">III.  </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">CALCULATING PAYOUT OF AWARDS</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The payout of Awards shall be calculated as set forth below&#58; </font></div><div><font><br></font></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">a.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">A Participant&#8217;s Award shall be determined and allocated by multiplying the Award by the Company&#8217;s adjusted level of attainment of the financial Performance Measures identified below, weighted as shown below&#58; </font></div><div style="padding-left:9.9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.153%"><tr><td style="width:1.0%"></td><td style="width:32.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#c6d9f0;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Performance Measure</font></td><td colspan="3" style="background-color:#c6d9f0;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">CEO, CFO&#59; CGO</font></div><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">SVP, HR &#38; Admin&#59; SVP &#38; General Counsel&#59; and Controller &#38; CAO</font></div></td><td colspan="3" style="background-color:#c6d9f0;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Executive SVPs or VPs Responsible for Operating Unit(s</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">)</font></div></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate Adjusted EBITDA</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75%</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20%</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate Working Capital</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25%</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">---</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating Unit Adjusted EBITDA</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">--</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50%</font></td></tr><tr><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font><br></font></div><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating Unit Working Capital</font></div></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">---</font></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30%</font></td></tr></table></div><div style="margin-bottom:10pt;margin-top:10pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">b.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">The amount of an Award shall be calculated and adjusted upward or downward based on the level of attainment of the above Performance Measures, Adjusted EBITDA (Corporate and Operating Unit), and Working Capital (Corporate and Operating Unit), utilizing the targets as set forth in the tables below.  (Tables shown below describe targets for the Consolidated Corporate Group.  Targets for the business groups are shown in Exhibit A.)  Straight-line interpolation will be used to determine the achievement between each level. </font></div><div style="padding-left:36pt;text-indent:36pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">                            Adjusted EBITDA Multiplier </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:7.8pt;font-weight:700;line-height:100%;position:relative;top:-4.2pt;vertical-align:baseline">1</font></div><div style="padding-left:77.41pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:68.269%"><tr><td style="width:1.0%"></td><td style="width:51.012%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.788%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#c6d9f0;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Target </font></div><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Adjusted EBITDA</font></div></td><td colspan="3" style="background-color:#c6d9f0;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Multiplier</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$32,000</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">200%</font></td></tr><tr><td colspan="3" style="background-color:#92d050;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$26,400</font></td><td colspan="3" style="background-color:#92d050;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">100%</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$21,120</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">50%</font></td></tr><tr><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Less than $21,120</font></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">0%</font></td></tr></table></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Working Capital </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:7.8pt;font-weight:700;line-height:100%;position:relative;top:-4.2pt;vertical-align:baseline">1</font></div><div style="padding-left:77.41pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:68.269%"><tr><td style="width:1.0%"></td><td style="width:51.012%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.788%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#c6d9f0;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Target Working Capital</font></td><td colspan="3" style="background-color:#c6d9f0;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">20.7%</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">200%</font></td></tr><tr><td colspan="3" style="background-color:#92d050;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">21.4%</font></td><td colspan="3" style="background-color:#92d050;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">100%</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">21.8%</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">50%</font></td></tr><tr><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Greater than 21.8%</font></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">0%</font></td></tr></table></div><div style="margin-bottom:10pt;margin-top:10pt;padding-left:54pt;text-indent:18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-style:italic;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">1</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">  Targets and Multipliers for Business Groups are shown on Exhibit A, on file with the Committee </font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">c.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8.67pt">Individual payout targets are shown on Exhibit B, on file with the Committee</font></div><div style="padding-left:18pt"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">d.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">Operating results of an acquisition will be immediately included in the financial results, with Compensation Committee approval.  </font></div><div style="margin-bottom:10pt;margin-top:10pt;padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">e.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:8pt">Definitions of the Performance Measures and possible financial adjustments are noted on Schedule 1.0 attached hereto.</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">III.  </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">RECOUPMENT</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">All Awards granted hereunder are made subject to the L.B. Foster Executive Recoupment Policy which is incorporated herein by reference (the &#8220;Policy.&#8221;)  The Policy provides for the clawback by the Company and repayment by the Participant of cash awards paid hereunder in the event of an accounting restatement applicable to any financial reporting period within the Performance Period due to noncompliance of the Company with any financial reporting requirement under the securities or other applicable laws.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">IV.  </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">COMPENSATION COMMITTEE</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">As set forth in the ExIP document, the Compensation Committee retains all rights and discretion to modify, eliminate, or replace the ExIP and the Program at any time.  The Committee will interpret and apply the ExIP and this Program at its discretion, and may adjust financial Performance Measures, weighting, and&#47;or multipliers as it deems appropriate in its sole discretion, or increase, decrease, or eliminate any Award or payout hereunder. All determinations with respect to any Award shall be made by the Committee and shall be final, conclusive and binding on the Company, the Participant and any and all interested parties.  </font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The undersigned Chairman of the Compensation Committee hereby certifies, on behalf of the Committee, that the performance goals and other material terms applicable have been determined and approved at the Committee meeting held in February of the </font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Program&#8217;s Performance Period.</font></div><div style="padding-left:242.75pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:48.076%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">_____________________________</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">John E. Kunz</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chairman, Compensation Committee</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font><br></font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">_____________________________</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date</font></div></td></tr></table></div><div style="text-align:right"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Schedule 1.0</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">PERFORMANCE MEASURES AND ADJUSTMENTS</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Adjusted Earnings Before Interest, Taxes, Depreciation and Amortization </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(Adjusted EBITDA)&#58; shall mean with respect to the Company or an Operating Unit, for the Fiscal Year (a) income from continuing operations&#59; (b) plus income tax expense&#59; (c) plus interest expense&#59; (d) minus interest income&#59; (e) plus depreciation expense&#59; and (f) plus amortization expense&#59; (g) plus and minus the adjustments below. Adjusted EBITDA is to be calculated including the effect of expense associated with the program.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Working Capital as a Percentage of Sales</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> (&#8220;W&#47;C as a % of Sales&#8221;)&#58; shall mean with respect to the Company, or as applicable, for an Operating Unit, for the Fiscal Year, the average monthly balances (in all cases calculated utilizing a 13-point average method) of Inventory, Contract Assets and Accounts Receivable less the average monthly balances of Accounts Payable and Deferred Revenue divided by annual net sales.  Results shall be determined incorporating approved adjustments below</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">The following adjustments are guidelines subject to board approval.</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:71.816%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.521%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.363%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffcc;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Adjustment Description</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Unplanned reductions or add-backs to results for gains and losses</font></div></td><td colspan="3" style="background-color:#ffffcc;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Adjusted</font></div><div style="padding-left:2.75pt;padding-right:2.75pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">EBITDA</font></div></td><td colspan="3" style="background-color:#ffffcc;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Working Capital</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Effects of changes in accounting or tax law</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Divestitures of properties, businesses, investments, equity in affiliates or held for sale as discontinued operations</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Costs of an acquisition or potential acquisition, and purchase accounting of an acquisition completed during the year.</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Any significant or non-recurring item(s) (these items include, but are not limited to a restructuring, long-lived asset impairment, warranty costs, product liability, legal settlement, environmental charges) that in total exceed $200,000 in EBITDA (favorable or unfavorable)</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The impact on any Operating Unit attributable to any administrative intercompany charges related to transfer pricing compliance where the consolidated impact is zero.</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td></tr><tr><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Other adjustments for unforeseen extraordinary circumstances as deemed appropriate in the sole discretion of the Compensation Committee of the Board of Directors</font></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">X</font></td></tr></table></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4</font></div><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.2
<SEQUENCE>3
<FILENAME>ex-102q12023.htm
<DESCRIPTION>EX-10.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i17608c063bb349b299d8f04a3ce75d5a_1"></div><div style="min-height:57.6pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit 10.2</font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">RESTRICTED STOCK AGREEMENT</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">(EXECUTIVE)</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(Section 6 Of The 2022 Equity and Incentive Compensation Plan)</font></div><div style="margin-bottom:12pt;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">This Restricted Stock Agreement set forth below (this &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) is dated as of </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">_________________</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Issue Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) and is between L. B. Foster Company, a Pennsylvania corporation (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), and </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">________________ </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Shareholder</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The Company has established its 2022 Equity and Incentive Compensation Plan (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Plan</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), to advance the interests of the Company and its Shareholders by providing incentives to certain eligible persons who contribute significantly to the strategic and long-term performance objectives and growth of the Company.  All capitalized terms not otherwise defined in this Agreement have the same meaning given them in the Plan.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Pursuant to the provisions of the Plan, the Committee has full power and authority to direct the execution and delivery of this Agreement in the name and on behalf of the Company and has authorized the execution and delivery of this Agreement.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">AGREEMENT</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The parties, intending to be legally bound hereby, agree as follows&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">Issuance of Stock.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  Subject and pursuant to all terms and conditions stated in this Agreement and in the Plan, as of the Issue Date the Company hereby grants to </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Shareholder ________</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> restricted shares of Company Common Stock, par value $0.01 per share (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Common Stock</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) pursuant to Section 6 of the Plan.  For purposes of this Agreement, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Shares</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; shall include all of the shares of Common Stock issued to Shareholder pursuant to this Agreement or issued with respect to such shares of Common Stock, including, but not limited to, shares of Company capital stock issued by way of a stock dividend or stock split or in connection with a combination of shares, recapitalization, merger, consolidation or other reorganization.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">Vesting&#59; Rights&#59; Obligations&#59; and Restrictions on Transfer</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">None of the Shares may be sold, transferred, pledged, hypothecated or otherwise encumbered or disposed of until they have vested in accordance with the terms of this Section 2.  Except as set forth in this Section 2, effective at the close of business on the date Shareholder ceases to be employed by the Company or an affiliate of the Company, any Shares that are not vested in accordance with this Section 2, and any dividends accrued pursuant to Section 2(c) below, shall be automatically forfeited without any further obligation on the part of the Company.  Shareholder hereby assigns and transfers any forfeited Shares and the stock certificate(s) or other evidence of ownership representing such Shares to the Company.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;padding-left:22.02pt">All of the Shares will vest 33 1&#47;3% on each of the first, second, and third anniversaries.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  However, if a Change of Control occurs prior to the end of the full vesting period and (i) Shareholder experiences an involuntary Separation from Service by the Company other than (A) a Termination for Cause, (B) death, or (C) Disability, or the Shareholder terminates for Good Reason (as defined below) within the 90-day period immediately preceding a Change of Control, or on or within the two-year period immediately following a Change of Control, or (ii) the acquiring entity in a Change of Control does not assume this Agreement and convert the Shares into a substantially comparable award of capital stock or other equity incentive instrument in such acquiring entity as determined by the Board of Directors, any unvested Shares shall immediately vest.  Vesting shall be tolled during any period in which Shareholder is on </font></div><div style="height:63.36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:57.6pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">an approved leave of absence from employment with the Company or an affiliate of the Company.   </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">Subject to the foregoing provisions of this Section 2 and the provisions of the Plan, Shareholder shall have all rights of a shareholder with respect to the Shares, including the right to vote the Shares and to receive dividends, </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:100%">provided</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:100%">however</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, that until such time as the Shares, or portion thereof, shall have vested, the Company shall accrue on its books and records for the benefit of the Shareholder an amount equal to the dividend payment that would otherwise have been received on the Shares but for this agreement to accrue the dividend payments.  Dividends accrued for the benefit of the Shareholder shall be payable as the Shares vest with payment to be made by the Company, or its agent, within ten (10) business days after vesting.  For purposes of clarity, if this Agreement provides that only a portion of the Shares vest on a given date, accrued dividends shall only be payable on that portion of Shares vesting and not on any Shares that remain unvested.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.02pt">For purposes of this Agreement, &#8220;Good Reason&#8221; means the Shareholder&#8217;s Separation from Service as a result of the occurrence, without the Shareholder&#8217;s written consent, of one of the following events&#58;</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(i)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:24.69pt">A material reduction in the Shareholder&#8217;s annual base salary (unless such reduction relates to an across-the-board reduction similarly affecting Shareholder and all or substantially all other executives of the Company and its affiliates)&#59;</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(ii)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:21.36pt">The Company (or the Subsidiary employing Shareholder) makes or causes to be made a material adverse change in the Shareholder&#8217;s position, authority, duties or responsibilities which results in a significant diminution in the Shareholder&#8217;s position, authority, duties or responsibilities, excluding any change made in connection with (A) a reassignment to a New Job Position (as defined herein), or (B) a termination of Shareholder&#8217;s employment with the Company for Disability, Termination for Cause, death, or temporarily as a result of Participant&#8217;s incapacity or other absence for an extended period&#59; (For purposes of this Agreement, &#8220;New Job Position&#8221; means a change in the Shareholder&#8217;s position, authority, duties or responsibilities with the Company or any affiliate due to the Shareholder&#8217;s demonstrated inadequate or unsatisfactory performance, provided the Shareholder had been notified of such inadequate performance and had been given at least 30 days to cure such inadequate performance.)&#59;</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(iii)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:18.03pt">A relocation of the Company&#8217;s principal place of business, or of Shareholder&#8217;s own office as assigned to Shareholder by the Company or the Subsidiary employing Shareholder to a location that increases Shareholder&#8217;s normal work commute by more than 50 miles&#59; or</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(iv)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:18.69pt">Any other action by the Company or the Subsidiary employing Shareholder that constitutes a material breach of the employment agreement, if any, under which Shareholder&#8217;s services are to be performed.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">In order for Shareholder to terminate for Good Reason, (A) the Company must be notified by Shareholder in writing within 90 days of the event constituting Good Reason, (B) the event must remain uncorrected by the Company for 30 days following such notice (the &#8220;Notice Period&#8221;), and (C) such termination must occur within 60 days after the expiration of the Notice Period.   </font></div><div style="height:63.36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">2</font></div></div></div><hr style="page-break-after:always"><div style="min-height:57.6pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(e)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">The certificates, if any, representing unvested Shares will bear the following or similar legend&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;padding-right:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;The securities represented by this certificate are subject to forfeiture and restrictions on transfer as set forth in the Restricted Stock Agreement between the issuer and the initial holder of these shares.  A copy of that document may be obtained by the holder without charge at the issuer&#8217;s principal place of business or upon written request.&#8221;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">Investment Representation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  Shareholder hereby acknowledges that the Shares cannot be sold, transferred, assigned, pledged or hypothecated in the absence of an effective registration statement for the shares under the Securities Act of 1933, as amended (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Securities Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), and applicable state securities laws or an applicable exemption from the registration requirements of the Securities Act and any applicable state securities laws or as otherwise provided herein or in the Plan. Shareholder also agrees that the Shares which Shareholder acquires pursuant to this Agreement will not be sold or otherwise disposed of in any manner which would constitute a violation of any applicable securities laws, whether federal or state.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">Book Entry Account</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  At the discretion of the Company, certificates for the shares may not be issued.  In lieu of certificates, the Company may establish a book entry account for the Shares, until vested, in the name of the Shareholder with the Company&#8217;s transfer agent for its Common Stock.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">Income Taxes</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Shareholder acknowledges that any income for federal, state, or local income tax purposes that Shareholder is required to recognize on account of the issuance of the Shares to Shareholder shall be subject to withholding of tax by the Company.  In order to satisfy Shareholder&#8217;s statutory withholding tax obligations, if any, on account of the vesting of Shares hereunder, the Company shall withhold a number of vested Shares issued hereunder equal to the applicable statutory withholding tax obligation for such Shareholder. Shareholder agrees further to notify the Company promptly if Shareholder files an election pursuant to Section 83(b) of the Internal Revenue Code of 1986, as amended (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Code</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), with respect to any Shares.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 6.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">No Right to Employment</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> Neither the Plan nor this Agreement shall be deemed to give Shareholder any right to continue to be employed by the Company, nor shall the Plan or the Agreement be deemed to limit in any way the Company&#8217;s right to terminate the employment of the Shareholder at any time.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 7.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">Further Assistance</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  Shareholder will provide assistance reasonably requested by the Company in connection with actions taken by Shareholder while employed by the         Company, including but not limited to assistance in connection with any lawsuits or other claims against the Company arising from events during the period in which Shareholder was employed by the Company.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 8.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">Binding Effect&#59; No Third Party Beneficiaries</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  This Agreement shall be binding upon and inure to the benefit of the Company and Shareholder and their respective heirs, representatives, successors and permitted assigns.  This Agreement shall not confer any rights or remedies upon any person other than the Company and the Shareholder and their respective heirs, representatives, successors and permitted assigns.  The parties agree that this Agreement shall survive the issuance of the Shares.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 9.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:22.7pt">Agreement to Abide by Plan&#59; Conflict between Plan and Agreement.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  The Plan is hereby incorporated by reference into this Agreement and is made a part hereof as though fully set forth in this Agreement. Shareholder, by execution of this Agreement, represents that he or she is familiar with the terms and provisions of the Plan and agrees to abide by all of </font></div><div style="height:63.36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">3</font></div></div></div><hr style="page-break-after:always"><div style="min-height:57.6pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">the terms and conditions of this Agreement and the Plan.  Shareholder accepts as binding, conclusive and final all decisions or interpretations of the Committee upon any question arising under the Plan or this Agreement (including, without limitation, the date of any termination of Shareholder&#8217;s employment with the Company).  In the event of any conflict between the Plan and this Agreement, the Plan shall control and this Agreement shall be deemed to be modified accordingly, except to the extent that the Plan gives the Committee the express authority to vary the terms of the Plan by means of this Agreement, in which case this Agreement shall govern.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 10.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:16.7pt">Entire Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  Except as otherwise provided herein, this Agreement and the Plan, which Shareholder has reviewed and accepted in connection with the grant of the Shares reflected by this Agreement, constitute the entire agreement between the parties and supersede any prior understandings, agreements, or representations by or between the parties, written or oral, to the extent they related in any way to the subject matter of this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 11.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:16.7pt">Choice of Law</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  To the extent not superseded by federal law, the laws of the Commonwealth of Pennsylvania (without regard to the conflicts laws thereof) shall control in all matters relating to this Agreement and any action relating to this Agreement must be brought in State or Federal Courts located in the Commonwealth of Pennsylvania.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 12.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:100%;padding-left:16.7pt">N</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">otice</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  All notices, requests, demands, claims, and other communications under this Agreement shall be in writing.  Any notice, request, demand, claim, or other communication under this Agreement shall be deemed duly given if (and then two business days after) it is sent by registered or certified mail, return receipt requested, postage prepaid, and addressed to the intended recipient at the following address&#58;  If to the Company, L. B. Foster Company, 415 Holiday Drive, Suite 100, Pittsburgh, PA 15220, Attn&#58; Secretary&#59; and if to the Shareholder, to his or her address as it appears on the Company&#8217;s records.  Either party to this Agreement may send any notice, request, demand, claim, or other communication under this Agreement to the intended recipient at such address using any other means (including personal delivery, expedited courier, messenger service, telecopy, ordinary mail, or electronic mail), but no such notice, request, demand, claim, or other communication shall be deemed to have been duly given unless and until it actually is received by the intended recipient.  Either party to this Agreement may change the address to which notices, requests, demands, claims, and other communications hereunder are to be delivered by giving the other party notice in the manner set forth in this section.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 13.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:16.7pt">Counterparts</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> This Agreement may be executed in one or more counterparts, each of which shall be deemed an original but all of which together shall constitute one and the same instrument.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 14.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:16.7pt">Amendments</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">  This Agreement may be amended or modified at any time by an instrument in writing signed by the parties hereto, or as otherwise provided under the Plan.  Notwithstanding, the Company may, in its sole discretion and without the Shareholder&#8217;s consent, modify or amend the terms of this Agreement, impose conditions on the timing and effectiveness of the issuance of the Shares, or take any other action it deems necessary or advisable, to cause this Award to be excepted from Section 409A of the Code (or to comply therewith to the extent the Company determines it is not excepted).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Section 15.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%;padding-left:16.7pt">Acknowledgments.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">By accepting the Shares, the Shareholder acknowledges receipt of a copy of the Plan and agrees to be bound by the terms and conditions set forth in the Plan and this Agreement, as in effect and&#47;or amended from time to time.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.02pt">The Plan and related documents may be delivered to you electronically.  Such means of delivery may include but do not necessarily include the delivery of a link to a Company intranet site or the internet site of a third party involved </font></div><div style="height:63.36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">4</font></div></div></div><hr style="page-break-after:always"><div style="min-height:57.6pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">in administering the Plan, the delivery of the documents via e-mail or CD-ROM or such other delivery determined at the Committee&#8217;s discretion.  Both Internet Email and the World Wide Web are required in order to access documents electronically.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">This Award is intended to be excepted from coverage under Section 409A of the Code and the regulations promulgated thereunder and shall be interpreted and construed accordingly.  Notwithstanding, Shareholder recognizes and acknowledges that Section 409A of the Code may impose upon the Shareholder certain taxes or interest charges for which the Shareholder is and shall remain solely responsible.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.02pt">Shareholder acknowledges that, by receipt of this Award, Shareholder has read this Section 15 and consents to the electronic delivery of the Plan and related documents, as described in this Section 15.  Shareholder acknowledges that Shareholder may receive from the Company a paper copy of any documents delivered electronically at no cost if Shareholder contacts the Company&#8217;s General Counsel by telephone at (412) 928-7829 or by mail to L.B. Foster Company, 415 Holiday Drive, Suite 100, Pittsburgh, PA  15220 ATTN&#58; General Counsel.  Shareholder further acknowledges that Shareholder will be provided with a paper copy of any documents delivered electronically if electronic delivery fails.</font></div><div><font><br></font></div><div style="height:63.36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">5</font></div></div></div><hr style="page-break-after:always"><div style="min-height:57.6pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">IN WITNESS WHEREOF, the Company has caused a duly authorized officer to execute this Agreement on its behalf, and the Shareholder has placed his&#47;her signature hereon, effective as of the Issue Date.</font></div><div style="margin-bottom:12pt"><font><br></font></div><div style="margin-bottom:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">L. B. FOSTER COMPANY</font></div><div><font><br></font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;         </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">By&#58;</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Name&#58;&#160;&#160;&#160;&#160;John E. Kunz </font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Title&#58;       </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Director and Chairman of the Compensation Committee <br></font></div><div><font><br></font></div><div style="margin-bottom:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ACCEPTED AND AGREED TO&#58;</font></div><div style="margin-bottom:12pt"><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;        </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, Shareholder</font></div><div style="height:63.36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:100%">6</font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.3
<SEQUENCE>4
<FILENAME>ex-103q12023.htm
<DESCRIPTION>EX-10.3
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i4db3c22f26c145709917dd0654a8ea14_1"></div><div style="min-height:73.44pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit 10.3</font></div><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">Performance Share Unit Program</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;</font></div><div style="text-align:justify"><font><br></font></div></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">L. B. Foster Company</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">2023 PERFORMANCE SHARE UNIT PROGRAM</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">(2023-2025)<br></font></div><div><font><br></font></div><div style="margin-bottom:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#91;DATE&#93;</font></div><div style="margin-bottom:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#91;NAME AND ADDRESS&#93;</font></div><div style="margin-bottom:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Dear &#91;NAME&#93;&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Pursuant to the terms and conditions of the L. B. Foster Company 2023 Performance Share Unit Program (the &#8220;Program&#8221;), a component of the Long-Term Incentive Program, the Compensation Committee of the Board of Directors of L. B. Foster Company (the &#8220;Committee&#8221;) has awarded you ___________ Performance Share Units (the &#8220;Award&#8221;).  The terms and conditions of your Award are governed by the provisions of the Program document attached hereto as </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Exhibit&#160;A</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">, the terms of which are hereby incorporated by reference.  Capitalized terms not otherwise defined herein shall each have the meaning assigned to them in the Program.</font></div><div style="padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">_________________________________________<br>Name&#58;&#160;&#160;&#160;&#160;___________________________________<br>Title&#58;&#160;&#160;&#160;&#160;___________________________________</font></div><div><font><br></font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">I hereby acknowledge and accept the Award described above subject to all of the terms and conditions of the Program including, without limitation, the forfeiture and covenant provisions set forth in Sections&#160;11, 12 and 13 of the Program, regardless of whether the Award ever results in a payment under the Program.  I further acknowledge receipt of a copy of the Program document and the L. B. Foster 2022 Equity and Incentive Compensation Plan, and I agree to be bound by all the provisions of the Program and the Plan, as amended from time to time.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">By signing below, I acknowledge that&#58; (i)&#160;I have read and understand the Program including, without limitation, the provisions that require me to repay monies to the Company if (A) I breach Section&#160;11 or 12 of the Program or (B) the Company is required to prepare an accounting restatement to the extent set forth in Section 13(c) of the Program&#59; (ii)&#160;the Performance Share Units that have been awarded to me have no independent economic value, but rather are mere units of measurement to be used in calculating benefits, if any, available under the Program&#59; (iii)&#160;I agree to accept as binding, conclusive and final all decisions or interpretations of the Compensation Committee upon any questions arising under this Award, the Program or the Plan&#59; and (iv)&#160;my decision to participate in the Program is completely voluntary and done with full knowledge of its terms</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:100%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">  I further acknowledge and agree</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">that, except as otherwise specifically provided in the Program, in the event I terminate employment prior to the Payment Date, the Performance Share Units awarded to me shall be cancelled and forfeited, whether payable or not, without payment by the Company or any Subsidiary.</font></div><div style="margin-bottom:12pt;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;text-indent:36pt"><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Signature&#58;  ____________________________&#160;&#160;&#160;&#160;Date&#58;  ______________________________<br>&#160;&#160;&#160;&#160;Name</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><div id="i4db3c22f26c145709917dd0654a8ea14_4"></div><hr style="page-break-after:always"><div style="min-height:73.44pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">Performance Share Unit Program</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;</font></div><div style="text-align:justify"><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Exhibit A</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">L. B. FOSTER COMPANY</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">2023 PERFORMANCE SHARE UNIT PROGRAM</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">(2023-2025)</font></div><div style="text-align:center"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">L. B. FOSTER COMPANY, a Pennsylvania corporation (the &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;), hereby establishes this L. B. FOSTER COMPANY 2023 PERFORMANCE SHARE UNIT PROGRAM (the &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Program</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;), in accordance with the provisions of the L. B. FOSTER COMPANY 2023 Equity and Incentive Compensation Plan (the &#8220;Plan&#8221;), and the terms and conditions provided herein.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">WHEREAS, the Company maintains the Plan for the benefit of its and its Subsidiaries&#8217; key employees&#59; and</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">WHEREAS, in order to align the interests of key employees with the interests of the Company's shareholders and to enhance the Company's ability to retain the employment of its key employees, the Company desires to provide long-term incentive compensation&#59; and</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">WHEREAS, Section 8 of the Plan authorizes the Company to make performance-based awards.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">NOW, THEREFORE, the Compensation Committee of the Board of Directors of the Company (&#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Compensation Committee</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;) hereby adopts the Program on the following terms and conditions&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Plan</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.  In addition to the terms and conditions set forth herein, Awards under the Program are subject to, and governed by, the terms and conditions set forth in the Plan, which are hereby incorporated by reference. Unless the context otherwise requires, capitalized terms used in this Program and not otherwise defined herein shall have the meanings set forth in the Plan. In the event of any conflict between the provisions of the Program and the Plan, the Compensation Committee shall have full authority and discretion to resolve such conflict and any such determination shall be final, conclusive and binding on the Participant and all interested parties.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Effective Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. The effective date of this Program is January 1, 2023.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Eligibility</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. The Committee shall select those individuals who shall participate in the Program (the &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Participants</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;).  In the event that an employee is hired by the Company or a Subsidiary during the Performance Period, upon recommendation by the CEO, the Committee shall determine whether such employee will become a Participant in the Program, subject to such terms, conditions and adjustments as the Committee determines to be necessary or desirable.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Performance Share Unit Awards</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">The Committee shall determine the number of performance share units (the &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Performance Share Units</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;) to be awarded to each Participant.  Each Performance Share Unit awarded under the Program shall represent a contingent right to receive up to two shares of the Company's common stock (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Common Stock</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;) as described more fully herein, to the extent such Performance Share Unit is earned and becomes payable pursuant to the terms of this Program.  Performance Share Units have no independent economic value, but rather are mere units of measurement used for purpose of calculating the number of shares, if any, to be paid under the Program.</font></div><div style="margin-bottom:12pt;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.18pt">Performance Share Units shall be increased and&#47;or decreased in accordance with the terms of the Program as described more fully herein. Notwithstanding any provision of this Program to the contrary the Committee, in its sole discretion, may increase or reduce the amount of any Performance Share Units that would otherwise be earned by a Participant upon attainment of the Performance Conditions (as defined below) if it concludes that such reduction is necessary or appropriate.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:43.108%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"><div><font><br></font></div></td></tr></table></div></div></div><hr style="page-break-after:always"><div style="min-height:73.44pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Performance Conditions of the Performance Share Units</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. The total number of shares of the Company&#8217;s Common Stock that may be earned by a Participant will be based on the Company's attainment of performance goals relating to the Company's return on invested capital (&#34;ROIC&#34;) and </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Earnings Before Interest, Taxes, Depreciation and Amortization (&#8220;Cumulative EBITDA&#8221;) during the Performance Period (as defined below)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:100%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">as approved by (and in accordance with the procedures established by) the Committee on February 14, 2023 and on file with the Committee (the &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Performance Conditions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;), for the performance period of January 1, 2023 through December 31, 2025 (the &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Performance Period</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;)&#59; provided, however, that except as otherwise specifically provided herein, the ability to earn shares of the Company&#8217;s Common Stock and to receive payment thereon under the Program is expressly contingent upon achievement of the threshold for the Performance Conditions and otherwise satisfying all other terms and conditions of the Program.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">6.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Issuance and Distribution</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">After the end of the Performance Period, the Committee shall certify in writing the extent to which the applicable Performance Conditions and any other material terms of the Program have been achieved. For purposes of this provision, and for so long as the Code permits, the approved minutes of the Committee meeting in which the certification is made may be treated as written certification.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.18pt">Subject to the terms and conditions of this Program, Performance Share Units will be settled and paid in shares of the Company's common stock in the calendar year immediately following the end of the Performance Period on a date determined in the Company's discretion, but in no event later than March 15</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.15pt;font-weight:400;line-height:100%;position:relative;top:-3.85pt;vertical-align:baseline">th </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">of such calendar year (the &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Payment Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;). </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">Notwithstanding any other provision of this Program, in the event of a Change of Control, the Committee may, in its sole discretion, terminate the Program and, unless otherwise determined by the Committee, the Participant shall be deemed to earn shares of the Company&#8217;s Common Stock at the target level&#59; provided, however, the Participant shall only be entitled to a prorated portion of such shares of the Company&#8217;s Common Stock determined based on the ratio of the number of complete months the Participant is employed or serves during the Performance Period through the date of the change of control to the total number of originally scheduled months in the Performance Period (or the number of originally scheduled remaining months in the Performance Period if the Participant becomes an employee of the Company and&#47;or its Subsidiaries after the start of the Performance Period).  Any such earned shares of the Company&#8217;s Common Stock shall be issued contemporaneous with the Change of Control on the closing date of the Change of Control&#59; provided, further, in the event of a Change of Control, Performance Share Units may, in the Committee&#8217;s discretion, be settled in cash and&#47;or securities or other property.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">7.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Dividends</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. Performance Share Units will not be credited with dividends that are paid on the Company's Common Stock.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">8.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Change in Participant's Status</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.  In the event a Participant's employment with the Company or any Subsidiary is terminated (i) by reason of Retirement on or after January 1, 2023 (or such earlier date as may be expressly authorized by the Committee), or (ii) on account of death or total and permanent Disability prior to the Payment Date, the Participant shall be entitled to retain the Performance Share Units and receive payment therefore to the extent earned and payable pursuant to the provisions of this Program&#59; provided, however, the Participant shall only be entitled to retain a prorated portion of the Performance Share Units determined at the end of the Performance Period and based on the ratio of the number of complete months the Participant is employed or serves during the Performance Period to the total number of months in the Performance Period (or the number of remaining months in the Performance Period if the Participant becomes an employee of the Company and&#47;or its Subsidiaries after the start of the Performance Period).  In the event a Participant's employment with the Company or any Subsidiary is terminated for any other reason, including, but not limited to, by the Participant voluntarily, or by the Company on account of a Termination for Cause or without cause, prior to the Payment Date, the Performance Share Units awarded to the Participant shall be cancelled and forfeited, whether payable or not, without payment by the Company or any Subsidiary.  Any payments due a deceased Participant shall be paid to his estate as provided herein after the end of the Performance Period.  </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:73.44pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">9.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:27.75pt;text-decoration:underline">Responsibilities of the Compensation Committee</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. In addition to the authority granted to the Compensation Committee under the Plan, the Compensation Committee has responsibility for all aspects of the Program's administration, including but not limited to&#58; ensuring that the Program is administered in accordance with the provisions of the Program and the Plan&#59; approving Participants&#59; authorizing Performance Share Unit Awards to Participants&#59; and adjusting Performance Share Units as authorized hereunder consistent with the terms of the Program and the Plan. All decisions of the Compensation Committee under the Program shall be final, conclusive and binding on all interest parties. No member of the Compensation Committee shall be liable for any action or determination made in good faith as to the Program or any Performance Share Units awarded thereunder.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">10.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Tax Consequences&#47;Withholding</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">It is intended that&#58; (i)&#160;a Participant's Performance Share Units shall be considered to be subject to a substantial risk of forfeiture in accordance with those terms as defined in Section&#160;409A and 3121(v)(2) of the Code&#59; and (ii)&#160;a Participant shall have merely an unfunded, unsecured promise to be paid a benefit, and such unfunded promise shall not consist of a transfer of &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">property</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34; within the meaning of Code Section&#160;83.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.18pt">Participant acknowledges that any income for foreign, federal, state or local income tax purposes, including payroll taxes, that the Participant is required to recognize on account of the vesting of the Performance Share Units and&#47;or issuance of the shares of Common Stock under this Award to Participant shall be subject to withholding of tax by the Company.  In accordance with administrative procedures established by the Company, in order to satisfy Participant&#8217;s minimum statutory withholding tax obligations, if any, on account of the vesting of the Performance Share Units and&#47;or issuance of shares of Common Stock under this Award, the Company will withhold from the Performance Share Units to be issued to the Participant a sufficient number of whole shares distributable in connection with this Award equal to the applicable minimum statutory withholding tax obligation.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">This Program is intended to be excepted from coverage under Section 409A and shall be construed accordingly.  Notwithstanding any provision of this Program to the contrary, if any benefit provided under this Program is subject to the provisions of Section 409A, the provisions of the Program will be administered, interpreted and construed in a manner necessary to comply with Section 409A (or disregarded to the extent such provision cannot be so administered, interpreted or construed).  Notwithstanding, Section&#160;409A may impose upon the Participant certain taxes or other charges for which the Participant is and shall remain solely responsible, and nothing contained in this Program or the Plan shall be construed to obligate the Compensation Committee, the Company or any Subsidiary for any such taxes or other charges</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">11.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Non-Competition</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">The Participants hereunder agree that this Section&#160;11 is reasonable and necessary in order to protect the legitimate business interests and goodwill of the Company, including the Company's trade secrets, valuable confidential business and professional information, substantial relationships with prospective and existing customers and clients, and specialized training provided to Participants and other employees of the Company. The Participants acknowledge and recognize the highly competitive nature of the business of the Company and its Subsidiaries and accordingly agree that during the term of each of their employment and for a period of two (2) years after the termination thereof&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(i)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:24.69pt">The Participants will not directly or indirectly engage in any business substantially similar to any line of business conducted by the Company or any of its Subsidiaries, including, but not limited to, where such engagement is as an officer, director, proprietor, employee, partner, investor (other than as a holder of less than 1% of the outstanding capital stock of a publicly traded corporation), consultant, advisor, agent or sales representative, in any geographic region in which the Company or any of its Subsidiaries conducted business&#59;</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:73.44pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(ii)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:21.36pt">The Participants will not contact, solicit, perform services for, or accept business from any customer or prospective customer of the Company or any of its Subsidiaries in any line of business conducted by the Company or any of its subsidiaries&#59;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(iii)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:18.03pt">The Participants will not directly or indirectly induce any employee of the Company or any of its Subsidiaries to&#58; (1)&#160;engage in any activity or conduct which is prohibited pursuant to subparagraph 11(a)(i) or (2)&#160;terminate such employee's employment with the Company or any of its Subsidiaries. Moreover, the Participants will not directly or indirectly employ or offer employment (in connection with any business substantially similar to any line of business conducted by the Company or any of its Subsidiaries) to any person who was employed by the Company or any of its Subsidiaries unless such person shall have ceased to be employed by the Company or any of its Subsidiaries for a period of at least 12&#160;months&#59; and</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(iv)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:18.69pt">The Participants will not directly or indirectly assist others in engaging in any of the activities, which are prohibited under subparagraphs (a)(i-iii) above.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.18pt">It is expressly understood and agreed that although the Participants and the Company consider the restrictions contained in this Section&#160;11 to be reasonable, if a final judicial determination is made by a court of competent jurisdiction that the time or territory or any other restriction contained in this Program is an unenforceable restriction against any Participant, the provisions of this Program shall not be rendered void but shall be deemed amended to apply as to such maximum time and territory and to such maximum extent as such court may judicially determine or indicate to be enforceable against such Participant. Alternatively, if any court of competent jurisdiction finds that any restriction contained in this Program is unenforceable, and such restriction cannot be amended so as to make it enforceable, such finding shall not affect the enforceability of any of the other restrictions contained herein. The restrictive covenants set forth in this Section&#160;11 shall be extended by any amount of time that a Participant is in breach of such covenants, such that the Company receives the full benefit of the time duration set forth above.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">12.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Confidential Information and Trade Secrets</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. The Participants and the Company agree that certain materials, including, but not limited to, information, data and other materials relating to customers, development programs, costs, marketing, trading, investment, sales activities, promotion, credit and financial data, manufacturing processes, financing methods, plans or the business and affairs of the Company and its Subsidiaries, constitute proprietary confidential information and trade secrets. Accordingly, the Participants will not at any time during or after a Participant's employment with the Company (including any Subsidiary) disclose or use for such Participant's own benefit or purposes or the benefit or purposes of any other person, firm, partnership, joint venture, association, corporation or other business organization, entity or enterprise other than the Company and any of its affiliates, any proprietary confidential information or trade secrets, provided that the foregoing shall not apply to information which is not unique to the Company or any of its Subsidiaries or which is generally known to the industry or the public other than as a result of such Participant's breach of this covenant. The Participants agree that upon termination of employment with the Company (including any Subsidiary) for any reason, the Participants will immediately return to the Company all memoranda, books, papers, plans, information, letters and other data, and all copies thereof or therefrom, which in any way relate to the business of the Company and its Subsidiaries, except that the Participants may retain personal notes, notebooks and diaries. The Participants further agree that the Participants will not retain or use for their own account at any time any trade names, trademark or other proprietary business designation used or owned in connection with the business of the Company or any of its Subsidiaries.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">13.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Remedies&#47;Forfeiture&#47;Recoupment</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">The Participants acknowledge that a violation or attempted violation on a Participant's part of Sections&#160;11 and 12 will cause irreparable damage to the Company and its Subsidiaries, and the Participants therefore agree that the Company and its Subsidiaries shall be entitled as a matter of right to an injunction, out of any court of competent jurisdiction, restraining any violation or further violation of such promises by the Participants or a Participant's employees, partners or agents. The Participants agree that such right to an injunction is cumulative and in addition to whatever other </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:73.44pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">remedies the Company (including any Subsidiary) may have under law or equity, and the Participants' obligations to make timely payment to the Company as set forth in Section 13(b) of this Program. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">The Participants further acknowledge and agree that a Participant's Performance Share Units shall be cancelled and forfeited without payment by the Company if such Participant breaches any of his or her obligations set forth in Section 11 and 12 herein.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.18pt">At any point after becoming aware of a breach of any obligation set forth in Sections&#160;11 and&#47;or 12 of this Program, the Company shall provide notice of such breach to a Participant. By agreeing to participate in this Program, the Participants agree that within ten (10)&#160;days after the date the Company provides such notice, a Participant shall pay to the Company in cash an amount equal to any and all distributions paid to or on behalf of such Participant under this Program within the six (6)&#160;months prior to the date of the earliest breach. The Participant agrees that failure to make such timely payment to the Company constitutes an independent and material breach of the terms and conditions of this Program, for which the Company may seek recovery of the unpaid amount as liquidated damages, in addition to all other rights and remedies the Company may have resulting from a Participant's breach of the obligations set forth in Sections&#160;11 and 12. The Participants agree that timely payment to the Company as set forth in this provision of the Program is reasonable and necessary because the compensatory damages that will result from breaches of Sections&#160;11 and&#47;or 12 cannot readily be ascertained. Further, the Participants agree that timely payment to the Company as set forth in this provision of the Program is not a penalty, and it does not preclude the Company from seeking all other remedies that may be available to the Company, including without limitation those set forth in this Section&#160;13.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%"> </font></div><div style="margin-bottom:12pt;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">Notwithstanding any other provisions herein, any Performance Share Units or other compensation (equity or cash) subject to recovery under any law, government regulation, stock exchange listing requirement, or Company policy, including the L.B. Foster Executive Recoupment Policy (incorporated herein by reference), shall be subject to such deductions, recoupment, and clawback as may be required to be made pursuant to such law, government regulation, stock exchange listing requirement or Company policy, as may be in effect from time to time, and which may operate to create additional rights for the Company with respect to this Award and any other compensation paid or payable by the Company and recovery of such amounts relating thereto.&#160; By accepting this Award, Participant agrees and acknowledges that he or she is obligated to cooperate with, and provide any and all assistance necessary to, the Company to recover, recoup, or recapture this Award or any other applicable compensatory amounts pursuant to such law, government regulation, stock exchange listing requirement or Company policy. Such cooperation and assistance shall include, but is not limited to, executing, completing and submitting any documentation necessary to recover, recoup or recapture this Award or such other compensatory amounts from Participant&#8217;s accounts, or pending or future compensation or other grants.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">14.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Assignment&#47;Nonassignment</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">The Company shall have the right to assign this Program, including without limitation Section 11, and the Participants agree to remain obligated by all provisions of this Program that are assigned to any successor, assign or surviving entity. The obligations of the Company under the Program shall be binding upon the successors and assigns of the Company. Any successor to the Company is an intended third party beneficiary of this Program.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.18pt">The Performance Share Units shall not be sold, pledged, assigned, hypothecated, transferred or disposed of (a &#34;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">Transfer</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#34;) in any manner, other than by will or the laws of descent and distribution. Any attempt by a Participant to Transfer the Performance Share Units in violation of the terms of the Program shall render the Performance Share Units null and void, and result in the immediate forfeiture of such Performance Share Units, without payment by the Company or any Subsidiary.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">15.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Impact on Benefit Plans</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. Payments under the Program shall not be considered as earnings for purposes of the Company's and&#47;or Affiliate's qualified retirement plans or any such retirement or benefit plan unless specifically provided for therein. Nothing herein shall prevent the Company or any Affiliate from maintaining additional compensation plans and arrangements for its employees.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:73.44pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">16.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Changes in Stock</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. In the event of a stock split, stock dividend, or similar event, the Performance Share Units and the shares of Company common stock on which the Performance Conditions are based shall be appropriately adjusted to prevent dilution or enlargement of the rights of Participants which would otherwise result from any such transaction, provided such adjustment shall be consistent with Code Section&#160;409A.  In the case of a Change of Control, any obligation under the Program shall be handled in accordance with the terms of Section&#160;6(c) hereof. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">17.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Governing Law, Jurisdiction, and Venue</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">This Program shall be governed by and construed in accordance with the laws of the Commonwealth of Pennsylvania, without giving effect to the principles of conflicts of law.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.18pt">Participant hereby irrevocably submits to the personal and exclusive jurisdiction of the United States District Court for the Western District of Pennsylvania or the Court of Common Pleas of Allegheny County, Pennsylvania in any action or proceeding arising out of, or relating to, this Program (whether such action or proceeding arises under contract, tort, equity or otherwise). Participant hereby irrevocably waives any objection which Participant now or hereafter may have to the laying of venue or personal jurisdiction of any such action or proceeding brought in said courts.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.8pt">Jurisdiction over, and venue of, any such action or proceeding </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">shall</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"> be exclusively vested in the United States District Court for the Western District of Pennsylvania or the Court of Common Pleas of Allegheny County, Pennsylvania.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:23.18pt">Provided that the Company commences any such action or proceeding in the courts identified in Section&#160;17(b), Participant irrevocably waives Participant's right to object to or challenge the above selected forum on the basis of inconvenience or unfairness under 28 U.S.C. &#167; 1404, 42 Pa. C.S. &#167; 5322 or similar state or federal statutes. Participant agrees to reimburse the Company for all of the attorney fees and costs it incurs to oppose Participant's efforts to challenge or object to litigation proceeding in the courts identified in Section 17(b) with respect to actions arising out of or relating to this Program (whether such actions arise under contract, tort, equity or otherwise).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">18.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Failure to Enforce Not a Waiver</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. The failure of the Company to enforce at any time any provision of this Program shall in no way be construed to be a waiver of such provision or of any other provision hereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">19.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Severability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. In the event that any one or more of the provisions of this Program shall be held to be invalid, illegal or unenforceable, the validity, legality or enforceability of the remaining provisions shall not in any way be affected or impaired thereby.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">20.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Funding</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. The Program is not funded and all amounts payable hereunder, if any, shall be paid from the general assets of the Company or its Affiliate, as applicable. No provision contained in this Program or the Plan and no action taken pursuant to the provisions of this Program or the Plan shall create a trust of any kind or require the Company to maintain or set aside any specific funds to pay benefits hereunder. To the extent a Participant acquires a right to receive payments from the Company under the Program, such right shall be no greater than the right of any unsecured general creditor of the Company.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">21.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Headings</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. The descriptive headings of the Sections of this Program are inserted for convenience of reference only and shall not constitute a part of this Program.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">22.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.25pt;text-decoration:underline">Amendment or Termination of this Program</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">. This Program may be modified, amended, suspended or terminated by the Committee at any time. Notwithstanding the foregoing or any provision of this Program to the contrary, the Committee may, in the sole discretion and without the Participants&#8217; consent, modify or amend the terms of the Program or a Performance Grant, or take any other action it deems necessary or advisable, to cause the Program to comply with Section 409A.  Any modification, amendment, suspension or termination shall only be effective upon a writing issued by the Committee, and a Participant shall not offer evidence of any purported oral modifications or amendments to vary or contradict the terms of this Program document.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:73.44pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">&#160;&#160;&#160;&#160;IN WITNESS WHEREOF</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">, the undersigned has executed this Program on the day and year indicated below.  This Program may be executed in more than one counterpart, each of which is deemed to be an original and all of which taken together constitute one and the same agreement.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>ex-311q12023.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i927625586e1c4689ba68beebeb004082_1"></div><div style="min-height:36pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.1</font></div></div><div style="margin-top:18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">May 10, 2023</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',sans-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',sans-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',sans-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>6
<FILENAME>ex-312q12023.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i527ac113246940fa880bd07a3bebd236_1"></div><div style="min-height:36pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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-indent:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">May 10, 2023</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Title&#58; Senior 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',sans-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>7
<FILENAME>ex-320q12023.htm
<DESCRIPTION>EX-32.0
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i097c0f1a58774bb7acb864c017a8df58_1"></div><div style="min-height:36pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-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 March&#160;31, 2023, 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">May 10, 2023</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',sans-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',sans-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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">May 10, 2023</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Title&#58; Senior 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',sans-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>8
<FILENAME>fstr-20230331.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:e6b60733-307a-4608-a609-e78ae7aaa679,g:27e4db7c-fd2f-4e9e-b8f9-b24e60302288-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:fstr="http://www.lbfoster.com/20230331" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.lbfoster.com/20230331">
  <xs:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.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-20230331_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-20230331_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-20230331_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" 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-20230331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" 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>0000002 - 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>0000003 - 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>0000004 - 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="CondensedConsolidatedStatementsofComprehensiveLoss" roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss">
        <link:definition>0000005 - Statement - Condensed Consolidated Statements of Comprehensive Loss</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofComprehensiveLossParenthetical" roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLossParenthetical">
        <link:definition>0000006 - Statement - Condensed Consolidated Statements of Comprehensive Loss (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>0000007 - 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>0000008 - Statement - Condensed Consolidated Statements of Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofStockholdersEquityParenthetical" roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquityParenthetical">
        <link:definition>0000009 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancialStatements" roleURI="http://www.lbfoster.com/role/FinancialStatements">
        <link:definition>0000010 - Disclosure - Financial Statements</link: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>0000011 - 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>0000012 - 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>0000013 - 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>0000014 - 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>0000015 - 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>0000016 - 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>0000017 - 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>0000018 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensation" roleURI="http://www.lbfoster.com/role/StockBasedCompensation">
        <link:definition>0000019 - 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>0000020 - 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>0000021 - 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>0000022 - 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="FinancialStatementsPolicies" roleURI="http://www.lbfoster.com/role/FinancialStatementsPolicies">
        <link:definition>0000023 - Disclosure - Financial Statements (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>0000024 - 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>0000025 - 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>0000026 - 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>0000027 - 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>0000028 - 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>0000029 - 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>0000030 - 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>0000031 - 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>0000032 - 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>0000033 - 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="CommitmentsandContingentLiabilitiesTables" roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesTables">
        <link:definition>0000034 - Disclosure - Commitments and Contingent Liabilities (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="BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails">
        <link:definition>0000035 - Disclosure - Business Segments - Reconciliation of Revenue from Segments to Consolidated (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="BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails">
        <link:definition>0000036 - Disclosure - Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (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="BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails" roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails">
        <link:definition>0000037 - Disclosure - Business Segments - Reconciliation of Assets from Segment to Consolidated (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="BusinessSegmentsNarrativeDetails" roleURI="http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails">
        <link:definition>0000038 - 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="RevenueSalesbyMajorProductLineDetails" roleURI="http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails">
        <link:definition>0000039 - Disclosure - Revenue - 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="RevenueTimingofTransferDetails" roleURI="http://www.lbfoster.com/role/RevenueTimingofTransferDetails">
        <link:definition>0000040 - Disclosure - Revenue - 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="RevenueOverTimeSalesDetails" roleURI="http://www.lbfoster.com/role/RevenueOverTimeSalesDetails">
        <link:definition>0000041 - Disclosure - Revenue - 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="RevenueNarrativeDetails" roleURI="http://www.lbfoster.com/role/RevenueNarrativeDetails">
        <link:definition>0000042 - 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="RevenueContractwithCustomerDetails" roleURI="http://www.lbfoster.com/role/RevenueContractwithCustomerDetails">
        <link:definition>0000043 - Disclosure - Revenue - Contract with Customer (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>0000044 - 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>0000044 - 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>0000045 - 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>0000046 - 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>0000047 - 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>0000048 - 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>0000049 - 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>0000050 - 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>0000050 - 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>0000051 - 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="EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" roleURI="http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails">
        <link:definition>0000052 - Disclosure - Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (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>0000053 - 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>0000054 - 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>0000055 - 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="FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" roleURI="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails">
        <link:definition>0000056 - 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="FairValueMeasurementsNarrativeDetails" roleURI="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails">
        <link:definition>0000057 - 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="RetirementPlansNarrativeDetails" roleURI="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails">
        <link:definition>0000058 - 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>0000059 - 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>0000060 - 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="CommitmentsandContingentLiabilitiesNarrativeDetails" roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails">
        <link:definition>0000061 - Disclosure - Commitments and Contingent Liabilities - 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="CommitmentsandContingentLiabilitiesFuturePaymentsDetails" roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails">
        <link:definition>0000062 - Disclosure - Commitments and Contingent Liabilities - Future Payments (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_UprrMember" abstract="false" name="UprrMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" abstract="false" name="LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" abstract="false" name="LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_CorporateExpenseAndOtherUnallocatedCharges" abstract="false" name="CorporateExpenseAndOtherUnallocatedCharges" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_SteelProductsAndMeasurementMember" abstract="true" name="SteelProductsAndMeasurementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_NumberOfRetirementPlans" abstract="false" name="NumberOfRetirementPlans" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/>
  <xs:element id="fstr_ChemtecEnergyServicesLLCMember" abstract="true" name="ChemtecEnergyServicesLLCMember" 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_RailProductsAndFrictionManagementMember" abstract="true" name="RailProductsAndFrictionManagementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_FabricatedSteelProductsMember" abstract="true" name="FabricatedSteelProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_DeferredStockUnitsMember" abstract="true" name="DeferredStockUnitsMember" 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_NumberOfDefinedContributionPlans" abstract="false" name="NumberOfDefinedContributionPlans" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" abstract="false" name="ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <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_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" abstract="false" name="LitigationSettlementAmountAwardedToOtherPartyNonCurrent" nillable="true" xbrli:periodType="instant" 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_DefinedBenefitPlanNumber" abstract="false" name="DefinedBenefitPlanNumber" nillable="true" xbrli:periodType="duration" 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_PriorCreditFacilityMember" abstract="true" name="PriorCreditFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" abstract="false" name="NumberOfCompaniesReceivingGeneralNoticeLetter" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fstr_FourthAmendedAndRestatedCreditAgreementMember" abstract="true" name="FourthAmendedAndRestatedCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" abstract="false" name="DebtInstrumentCovenantInterestCoverageRatioMinimum" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="fstr_OtherPrecastConcreteProductsMember" abstract="true" name="OtherPrecastConcreteProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_InterestIncome" abstract="false" name="InterestIncome" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" 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_OverTimeInputMethodMember" abstract="true" name="OverTimeInputMethodMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" abstract="false" name="NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" abstract="false" name="DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="fstr_AccruedLegalSettlementCurrent" abstract="false" name="AccruedLegalSettlementCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fstr_PrecastConcreteBuildingsMember" abstract="true" name="PrecastConcreteBuildingsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" abstract="false" name="LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_PrecastConcreteProductsMember" abstract="true" name="PrecastConcreteProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <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_UPRRMember" abstract="false" name="UPRRMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" abstract="false" name="EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <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_NumberOfPartiesRequiredToPerformRemedialWork" abstract="false" name="NumberOfPartiesRequiredToPerformRemedialWork" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <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_ContractWithCustomerLiabilityRollForward" abstract="true" name="ContractWithCustomerLiabilityRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="fstr_LineOfCreditFacilityMaximumIncreaseInCommitments" abstract="false" name="LineOfCreditFacilityMaximumIncreaseInCommitments" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember" abstract="true" name="PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember" 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="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_CoatingsAndMeasurementMember" abstract="true" name="CoatingsAndMeasurementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" abstract="true" name="ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="fstr_ContractWithCustomerAssetAdditions" abstract="false" name="ContractWithCustomerAssetAdditions" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
  <xs:element id="fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount" abstract="false" name="LongtermPurchaseCommitmentAnnualCommitmentAmount" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_DebtInstrumentCovenantLeverageRatioMaximum" abstract="false" name="DebtInstrumentCovenantLeverageRatioMaximum" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="fstr_RemedialWorkAnticipatedCleanUpPeriod" abstract="false" name="RemedialWorkAnticipatedCleanUpPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fstr_LitigationSettlementInstallmentPaymentTerm" abstract="false" name="LitigationSettlementInstallmentPaymentTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fstr_AccruedLegalSettlementNonCurrent" abstract="false" name="AccruedLegalSettlementNonCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fstr_ContractWithCustomerLiabilityOtherAdjustments" abstract="false" name="ContractWithCustomerLiabilityOtherAdjustments" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" 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:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>9
<FILENAME>fstr-20230331_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:e6b60733-307a-4608-a609-e78ae7aaa679,g:27e4db7c-fd2f-4e9e-b8f9-b24e60302288-->
<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-20230331.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_Assets_bbd64135-2bed-4897-816b-0aa3f6447a48" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_13fb6149-34d0-4af4-942e-893e14c7b300" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_bbd64135-2bed-4897-816b-0aa3f6447a48" xlink:to="loc_us-gaap_AssetsCurrent_13fb6149-34d0-4af4-942e-893e14c7b300" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_633a4062-80f0-44c6-89eb-53f5b11fb102" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_bbd64135-2bed-4897-816b-0aa3f6447a48" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_633a4062-80f0-44c6-89eb-53f5b11fb102" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_a09823c3-8d54-4eaf-86f4-97f8214b5069" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_bbd64135-2bed-4897-816b-0aa3f6447a48" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_a09823c3-8d54-4eaf-86f4-97f8214b5069" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_6d5acac7-108a-42e3-b605-2c4ca4ee09e8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_bbd64135-2bed-4897-816b-0aa3f6447a48" xlink:to="loc_us-gaap_Goodwill_6d5acac7-108a-42e3-b605-2c4ca4ee09e8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_55704917-d5d9-4155-8807-525cb8cb21a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_bbd64135-2bed-4897-816b-0aa3f6447a48" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_55704917-d5d9-4155-8807-525cb8cb21a7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_ee31e64b-d4fe-46c1-b7c3-c7d9f7474a9e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbd64135-2bed-4897-816b-0aa3f6447a48" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_ee31e64b-d4fe-46c1-b7c3-c7d9f7474a9e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_c83641bd-4cf7-4ada-8d0b-fa6567ebae09" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbd64135-2bed-4897-816b-0aa3f6447a48" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_c83641bd-4cf7-4ada-8d0b-fa6567ebae09" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_79fed15d-6b7e-4150-89a3-e53c81d33ea6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_25d1a7c5-939c-4c1f-af0b-e085e4340a9c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_79fed15d-6b7e-4150-89a3-e53c81d33ea6" xlink:to="loc_us-gaap_AccountsPayableCurrent_25d1a7c5-939c-4c1f-af0b-e085e4340a9c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_be865465-2a50-4260-8390-7e15b1e9d7ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_79fed15d-6b7e-4150-89a3-e53c81d33ea6" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_be865465-2a50-4260-8390-7e15b1e9d7ad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_15852740-7256-46c0-89e7-aad45a4c70ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_79fed15d-6b7e-4150-89a3-e53c81d33ea6" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_15852740-7256-46c0-89e7-aad45a4c70ce" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AccruedLegalSettlementCurrent_31c4b6fd-1318-4f7f-97f6-d20d89d4b57a" xlink:href="fstr-20230331.xsd#fstr_AccruedLegalSettlementCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_79fed15d-6b7e-4150-89a3-e53c81d33ea6" xlink:to="loc_fstr_AccruedLegalSettlementCurrent_31c4b6fd-1318-4f7f-97f6-d20d89d4b57a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_f31f7f3d-58fc-4412-99b2-d0e854e72302" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_79fed15d-6b7e-4150-89a3-e53c81d33ea6" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_f31f7f3d-58fc-4412-99b2-d0e854e72302" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_55476f4a-c117-42c1-848d-2f0663b55222" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_79fed15d-6b7e-4150-89a3-e53c81d33ea6" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_55476f4a-c117-42c1-848d-2f0663b55222" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_066865b8-a86a-4146-bd88-8ff8f6adb1bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_7cc08998-7823-4c21-9809-a1b31f867e74" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_066865b8-a86a-4146-bd88-8ff8f6adb1bd" xlink:to="loc_us-gaap_StockholdersEquity_7cc08998-7823-4c21-9809-a1b31f867e74" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MinorityInterest_462bb8c6-cd71-4e86-8801-b323eef45f58" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_066865b8-a86a-4146-bd88-8ff8f6adb1bd" xlink:to="loc_us-gaap_MinorityInterest_462bb8c6-cd71-4e86-8801-b323eef45f58" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_04f75843-ee7c-45fe-b9bd-ee142845db4e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_18c1be82-0472-4970-8f58-f93c0f5503e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_04f75843-ee7c-45fe-b9bd-ee142845db4e" xlink:to="loc_us-gaap_LiabilitiesCurrent_18c1be82-0472-4970-8f58-f93c0f5503e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_b8841cc7-cb0e-4b66-b415-96770dfef397" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_04f75843-ee7c-45fe-b9bd-ee142845db4e" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_b8841cc7-cb0e-4b66-b415-96770dfef397" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_188df8b8-17f7-4ca7-be2d-d38cd07b3fc6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_04f75843-ee7c-45fe-b9bd-ee142845db4e" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_188df8b8-17f7-4ca7-be2d-d38cd07b3fc6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AccruedLegalSettlementNonCurrent_520db018-e7a5-4b06-879e-42a368e291ae" xlink:href="fstr-20230331.xsd#fstr_AccruedLegalSettlementNonCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_04f75843-ee7c-45fe-b9bd-ee142845db4e" xlink:to="loc_fstr_AccruedLegalSettlementNonCurrent_520db018-e7a5-4b06-879e-42a368e291ae" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_58593d7c-d1a2-4ebc-a16a-8ea65d524c59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_04f75843-ee7c-45fe-b9bd-ee142845db4e" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_58593d7c-d1a2-4ebc-a16a-8ea65d524c59" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_6ab0a64c-7937-4848-a782-0c7e99dbab7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_04f75843-ee7c-45fe-b9bd-ee142845db4e" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_6ab0a64c-7937-4848-a782-0c7e99dbab7f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_d8014d52-f9d7-4218-85ee-8bcc3d882a1a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_04f75843-ee7c-45fe-b9bd-ee142845db4e" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_d8014d52-f9d7-4218-85ee-8bcc3d882a1a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_8575a2b3-b833-4424-941d-d42ce7cd42b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_b97a792c-2fd7-4a8d-99c6-bd86c0368ac7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_8575a2b3-b833-4424-941d-d42ce7cd42b2" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_b97a792c-2fd7-4a8d-99c6-bd86c0368ac7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_a6093018-af65-4b85-b021-35f7b0093f6f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_8575a2b3-b833-4424-941d-d42ce7cd42b2" xlink:to="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_a6093018-af65-4b85-b021-35f7b0093f6f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_f32389ff-bc8b-43b9-9141-27f2336a8f87" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_8575a2b3-b833-4424-941d-d42ce7cd42b2" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_f32389ff-bc8b-43b9-9141-27f2336a8f87" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_229df497-19a8-4f83-afad-b5e61a695621" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_8575a2b3-b833-4424-941d-d42ce7cd42b2" xlink:to="loc_us-gaap_InventoryNet_229df497-19a8-4f83-afad-b5e61a695621" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_315afb1b-08df-4509-b37a-82c05105c27e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_8575a2b3-b833-4424-941d-d42ce7cd42b2" xlink:to="loc_us-gaap_OtherAssetsCurrent_315afb1b-08df-4509-b37a-82c05105c27e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_9776840e-696b-4fbd-9836-e14198b7f58c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_d44920f3-70dd-4bfb-97d1-4aaa14683377" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_9776840e-696b-4fbd-9836-e14198b7f58c" xlink:to="loc_us-gaap_CommonStockValue_d44920f3-70dd-4bfb-97d1-4aaa14683377" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_13a0a349-09b3-4387-a8d3-314fc4629533" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_9776840e-696b-4fbd-9836-e14198b7f58c" xlink:to="loc_us-gaap_AdditionalPaidInCapital_13a0a349-09b3-4387-a8d3-314fc4629533" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_ecb0878c-9534-4c3a-9ff0-c63b22181a64" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_9776840e-696b-4fbd-9836-e14198b7f58c" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_ecb0878c-9534-4c3a-9ff0-c63b22181a64" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonValue_178c4b2a-ce51-4c02-a3a9-ef528577975f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_9776840e-696b-4fbd-9836-e14198b7f58c" xlink:to="loc_us-gaap_TreasuryStockCommonValue_178c4b2a-ce51-4c02-a3a9-ef528577975f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_d5ff19ec-a647-426e-acfe-e982606cbd13" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_9776840e-696b-4fbd-9836-e14198b7f58c" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_d5ff19ec-a647-426e-acfe-e982606cbd13" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="fstr-20230331.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_NetIncomeLoss_670fd341-4962-4ae3-a4e9-2e1f692d736e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_1589f68e-90e1-4a03-a3bb-ddb9a0b7a1fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_670fd341-4962-4ae3-a4e9-2e1f692d736e" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_1589f68e-90e1-4a03-a3bb-ddb9a0b7a1fd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_c6151503-a600-4caa-a051-db4bcb802296" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_670fd341-4962-4ae3-a4e9-2e1f692d736e" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_c6151503-a600-4caa-a051-db4bcb802296" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_958983d2-9402-4ec7-99b5-a331b1cc9e7d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_a990f3ea-9898-47d2-9a64-d03f5ffb8cc9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_958983d2-9402-4ec7-99b5-a331b1cc9e7d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_a990f3ea-9898-47d2-9a64-d03f5ffb8cc9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_419e47ca-cf6e-4be4-b4d2-7ba278fe03a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_958983d2-9402-4ec7-99b5-a331b1cc9e7d" xlink:to="loc_us-gaap_CostOfRevenue_419e47ca-cf6e-4be4-b4d2-7ba278fe03a3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_899db8d7-2710-4c68-ba32-2ee4fa2ad558" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7a5bdce4-5e5f-4039-ba2b-2f1f6f213de7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_899db8d7-2710-4c68-ba32-2ee4fa2ad558" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7a5bdce4-5e5f-4039-ba2b-2f1f6f213de7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_28a5e984-3bb9-4c21-90d2-c77041c6dacf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_899db8d7-2710-4c68-ba32-2ee4fa2ad558" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_28a5e984-3bb9-4c21-90d2-c77041c6dacf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_239269a3-17e3-44c0-ab02-60c4573f1f5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_51b5b679-fb5b-4513-85fe-3e7be8822808" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_239269a3-17e3-44c0-ab02-60c4573f1f5c" xlink:to="loc_us-gaap_OperatingIncomeLoss_51b5b679-fb5b-4513-85fe-3e7be8822808" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_a9ed1983-64d7-4d2b-adf1-75a07de67145" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_239269a3-17e3-44c0-ab02-60c4573f1f5c" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_a9ed1983-64d7-4d2b-adf1-75a07de67145" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_453fd05b-95fc-4931-89b9-bb36d4df682b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_239269a3-17e3-44c0-ab02-60c4573f1f5c" xlink:to="loc_us-gaap_InterestExpense_453fd05b-95fc-4931-89b9-bb36d4df682b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_3d6037b4-faf2-4e45-b473-8484e35693d6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_c1a5bb14-5d2d-411d-a7a5-6b96067f25c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3d6037b4-faf2-4e45-b473-8484e35693d6" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_c1a5bb14-5d2d-411d-a7a5-6b96067f25c9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_962c8107-f773-49d1-b064-8c7db7606911" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3d6037b4-faf2-4e45-b473-8484e35693d6" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_962c8107-f773-49d1-b064-8c7db7606911" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_92d91f18-1fd4-41e0-ae44-421751748ba1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3d6037b4-faf2-4e45-b473-8484e35693d6" xlink:to="loc_us-gaap_GrossProfit_92d91f18-1fd4-41e0-ae44-421751748ba1" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss" xlink:type="simple" xlink:href="fstr-20230331.xsd#CondensedConsolidatedStatementsofComprehensiveLoss"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_70ddb3cd-cad3-4012-b07e-50ac3dc72996" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_7b229b3e-0d84-4de4-8147-db3463c716a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_70ddb3cd-cad3-4012-b07e-50ac3dc72996" xlink:to="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_7b229b3e-0d84-4de4-8147-db3463c716a1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_326b377e-a8c8-48de-bab0-7d34f01cf1a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_70ddb3cd-cad3-4012-b07e-50ac3dc72996" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_326b377e-a8c8-48de-bab0-7d34f01cf1a4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_183d1083-f3c6-4322-8d3d-6d19b05524b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_3039dcbe-5283-4a3a-909a-33a2980cc73f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_183d1083-f3c6-4322-8d3d-6d19b05524b7" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_3039dcbe-5283-4a3a-909a-33a2980cc73f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_4b7f4370-457d-4cde-8cb9-050827e82d7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_183d1083-f3c6-4322-8d3d-6d19b05524b7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_4b7f4370-457d-4cde-8cb9-050827e82d7f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_b4579e18-a0fe-4fc1-9d68-bbd7031a0aec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_b3da8493-f283-433d-a600-515948e1187b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_b4579e18-a0fe-4fc1-9d68-bbd7031a0aec" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_b3da8493-f283-433d-a600-515948e1187b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_8a431d68-3238-4430-a18c-698fa427d431" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_b4579e18-a0fe-4fc1-9d68-bbd7031a0aec" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_8a431d68-3238-4430-a18c-698fa427d431" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_38fbabb3-6fbe-4b42-af9e-476bd6e7f8bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_b4579e18-a0fe-4fc1-9d68-bbd7031a0aec" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_38fbabb3-6fbe-4b42-af9e-476bd6e7f8bb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_47b400e3-0626-4b01-832e-6f3efd390442" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_b4579e18-a0fe-4fc1-9d68-bbd7031a0aec" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_47b400e3-0626-4b01-832e-6f3efd390442" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_d3870bf6-574b-432c-a793-d1ae6ed3cb7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_b4579e18-a0fe-4fc1-9d68-bbd7031a0aec" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_d3870bf6-574b-432c-a793-d1ae6ed3cb7a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="fstr-20230331.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_NetCashProvidedByUsedInOperatingActivities_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_ee9b5118-8c69-4aa6-a7ff-d735171fe613" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_ee9b5118-8c69-4aa6-a7ff-d735171fe613" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_2b664a2b-2d67-49fa-baff-c4a36058bd5a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_2b664a2b-2d67-49fa-baff-c4a36058bd5a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_7d4e9da5-eda7-48ec-87a1-a81c10a32681" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_Depreciation_7d4e9da5-eda7-48ec-87a1-a81c10a32681" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentForAmortization_11ced4cb-9335-45d0-96e1-9d3537484f8e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_AdjustmentForAmortization_11ced4cb-9335-45d0-96e1-9d3537484f8e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_EquityLossIncomeAndRemeasurementGain_0896bbb3-4234-45b6-a829-d557697f2cfe" xlink:href="fstr-20230331.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_fstr_EquityLossIncomeAndRemeasurementGain_0896bbb3-4234-45b6-a829-d557697f2cfe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_4da72b91-e69a-4219-a1a5-a4584a571a3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_4da72b91-e69a-4219-a1a5-a4584a571a3b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_bb2974c0-b3b2-44ea-bf4f-cb4b6518dfe5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_ShareBasedCompensation_bb2974c0-b3b2-44ea-bf4f-cb4b6518dfe5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_5058a5ec-2501-4e94-8fc3-e2f93e5c6f6d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_5058a5ec-2501-4e94-8fc3-e2f93e5c6f6d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_6acee92d-c6c4-4ae2-b6aa-906c35c6293c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_6acee92d-c6c4-4ae2-b6aa-906c35c6293c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_9323689c-ea83-4c04-99d3-9119bddda9e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_9323689c-ea83-4c04-99d3-9119bddda9e5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets_20f4aad4-1423-4431-94ff-b903468c62ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets_20f4aad4-1423-4431-94ff-b903468c62ad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_835f761a-5402-4691-9ee9-45e182c4c8a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_835f761a-5402-4691-9ee9-45e182c4c8a4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_41e5e879-9b1e-4191-b350-617762914274" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_41e5e879-9b1e-4191-b350-617762914274" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_546cff99-121a-43ce-bea5-8a98c4f40c9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_546cff99-121a-43ce-bea5-8a98c4f40c9f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_55e4c194-cf8c-4aa4-88f7-96e40e242d93" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_55e4c194-cf8c-4aa4-88f7-96e40e242d93" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_dbf8be2b-0867-44ad-830f-b80660a0eb03" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_dbf8be2b-0867-44ad-830f-b80660a0eb03" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_4e774e93-5640-4fd5-9af6-b8fa0cf75178" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_4e774e93-5640-4fd5-9af6-b8fa0cf75178" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_0e4fb31d-2534-43af-94b0-7072a6dcb5b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:calculationArc order="18" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_3b076cfc-f5b5-4263-9839-47efbea61299" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_0e4fb31d-2534-43af-94b0-7072a6dcb5b3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_e52f7323-9868-4c18-b7cb-962d6bdadbf8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_13aad062-3632-4188-aace-070908f6df4f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_e52f7323-9868-4c18-b7cb-962d6bdadbf8" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_13aad062-3632-4188-aace-070908f6df4f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_72f21c8c-c015-46cd-9b3f-1ec1b677a1a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_e52f7323-9868-4c18-b7cb-962d6bdadbf8" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_72f21c8c-c015-46cd-9b3f-1ec1b677a1a2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinesses_c0dd0599-f062-4f67-b727-4fa37602091b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromDivestitureOfBusinesses"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_e52f7323-9868-4c18-b7cb-962d6bdadbf8" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinesses_c0dd0599-f062-4f67-b727-4fa37602091b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_090b8f25-39da-4555-9b1f-5001371e1d4b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b0816e7-6197-426d-894d-e22319f01437" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_090b8f25-39da-4555-9b1f-5001371e1d4b" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b0816e7-6197-426d-894d-e22319f01437" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a6e57a99-34ab-4bf8-a3bd-bea96a861b8e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_090b8f25-39da-4555-9b1f-5001371e1d4b" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a6e57a99-34ab-4bf8-a3bd-bea96a861b8e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_c75149d0-7256-42cb-b7d3-5319a56daf61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_090b8f25-39da-4555-9b1f-5001371e1d4b" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_c75149d0-7256-42cb-b7d3-5319a56daf61" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_49bdab8d-6020-408a-a51b-a809a48dfd0d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_090b8f25-39da-4555-9b1f-5001371e1d4b" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_49bdab8d-6020-408a-a51b-a809a48dfd0d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ff6ef358-f2b1-4c76-a51a-6d80daaf2f07" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_a1e800a1-67df-4294-b409-a781a01afe54" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ff6ef358-f2b1-4c76-a51a-6d80daaf2f07" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_a1e800a1-67df-4294-b409-a781a01afe54" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMinorityShareholders_20a82d92-978f-4c36-9e0b-46ed26df2836" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ff6ef358-f2b1-4c76-a51a-6d80daaf2f07" xlink:to="loc_us-gaap_ProceedsFromMinorityShareholders_20a82d92-978f-4c36-9e0b-46ed26df2836" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfOtherLongTermDebt_9176effb-4172-4dc0-8503-ac3da5ed1f64" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfOtherLongTermDebt"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ff6ef358-f2b1-4c76-a51a-6d80daaf2f07" xlink:to="loc_us-gaap_RepaymentsOfOtherLongTermDebt_9176effb-4172-4dc0-8503-ac3da5ed1f64" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_7207e2b8-f304-4b5c-9a1b-52c0aadffbd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ff6ef358-f2b1-4c76-a51a-6d80daaf2f07" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_7207e2b8-f304-4b5c-9a1b-52c0aadffbd9" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8174eb37-88ad-42ab-8f31-5bad9c29732f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_b54c64b8-034d-40cb-bd7f-412a86e88dbe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8174eb37-88ad-42ab-8f31-5bad9c29732f" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_b54c64b8-034d-40cb-bd7f-412a86e88dbe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_6b872d11-d2b9-4348-aed2-ac4bb2f96898" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8174eb37-88ad-42ab-8f31-5bad9c29732f" xlink:to="loc_us-gaap_OperatingIncomeLoss_6b872d11-d2b9-4348-aed2-ac4bb2f96898" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_d32273a8-164a-4023-86d9-20bb9d7a1b09" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_8174eb37-88ad-42ab-8f31-5bad9c29732f" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_d32273a8-164a-4023-86d9-20bb9d7a1b09" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateExpenseAndOtherUnallocatedCharges_eb388cf3-0368-4655-b2c2-182b60da734e" xlink:href="fstr-20230331.xsd#fstr_CorporateExpenseAndOtherUnallocatedCharges"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8174eb37-88ad-42ab-8f31-5bad9c29732f" xlink:to="loc_fstr_CorporateExpenseAndOtherUnallocatedCharges_eb388cf3-0368-4655-b2c2-182b60da734e" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/InventoryDetails" xlink:type="simple" xlink:href="fstr-20230331.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_ed58b6da-c1fe-47e0-b7f6-c48020da20bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_799c41cd-4197-4bce-98b0-7550bdb2568f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ed58b6da-c1fe-47e0-b7f6-c48020da20bf" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_799c41cd-4197-4bce-98b0-7550bdb2568f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_1664fc50-b380-4eb9-b96f-4223a64c0b74" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ed58b6da-c1fe-47e0-b7f6-c48020da20bf" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_1664fc50-b380-4eb9-b96f-4223a64c0b74" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_89a6393e-f004-41d2-9551-39b02e14d38f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ed58b6da-c1fe-47e0-b7f6-c48020da20bf" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_89a6393e-f004-41d2-9551-39b02e14d38f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails" xlink:type="simple" xlink:href="fstr-20230331.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_37e6dcb5-2347-4df7-8f6d-f66e50c66c8f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtAndCapitalLeaseObligations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_74953f5a-e095-4f2a-a618-9d7750e2c2e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_37e6dcb5-2347-4df7-8f6d-f66e50c66c8f" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_74953f5a-e095-4f2a-a618-9d7750e2c2e1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_87c883dd-94b6-4735-8831-92365d0932f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_37e6dcb5-2347-4df7-8f6d-f66e50c66c8f" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_87c883dd-94b6-4735-8831-92365d0932f0" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1" xlink:type="simple" xlink:href="fstr-20230331.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_9d112a1b-27c1-486b-9eb8-67423657d7df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtAndCapitalLeaseObligations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_67a5606d-44a8-4ee2-ab0f-6cfbcb042951" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_9d112a1b-27c1-486b-9eb8-67423657d7df" xlink:to="loc_us-gaap_LineOfCredit_67a5606d-44a8-4ee2-ab0f-6cfbcb042951" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_d7aaead0-34df-4443-b027-b1c372d0c121" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_9d112a1b-27c1-486b-9eb8-67423657d7df" xlink:to="loc_us-gaap_FinanceLeaseLiability_d7aaead0-34df-4443-b027-b1c372d0c121" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_0131adc8-c095-4844-ade3-ee965d67c894" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_ca1bf2c0-de7a-411e-8496-c34f53a57148" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_0131adc8-c095-4844-ade3-ee965d67c894" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_ca1bf2c0-de7a-411e-8496-c34f53a57148" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_643fdfab-560f-444d-b8f4-a1d502c19f3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_de86d9db-353f-4cd5-a934-500ff1e5e9c7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_643fdfab-560f-444d-b8f4-a1d502c19f3a" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_de86d9db-353f-4cd5-a934-500ff1e5e9c7" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="fstr-20230331.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_20dd6a4b-8131-4f08-a917-43c1f627d2df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_671fde56-df2f-4828-9c09-de62b5c0e7c6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_20dd6a4b-8131-4f08-a917-43c1f627d2df" xlink:to="loc_us-gaap_DerivativeAssets_671fde56-df2f-4828-9c09-de62b5c0e7c6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f2a8a106-82e2-4fb9-a474-bb4a13554913" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_20dd6a4b-8131-4f08-a917-43c1f627d2df" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f2a8a106-82e2-4fb9-a474-bb4a13554913" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails" xlink:type="simple" xlink:href="fstr-20230331.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_51d4d6f5-3118-4c09-ae70-c9e6ea8c5a3e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_bd0eb112-58e3-4054-8a89-663b05b8a3fc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_51d4d6f5-3118-4c09-ae70-c9e6ea8c5a3e" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_bd0eb112-58e3-4054-8a89-663b05b8a3fc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_6eb69557-8489-4cf4-9447-fb3327a7068f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_51d4d6f5-3118-4c09-ae70-c9e6ea8c5a3e" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_6eb69557-8489-4cf4-9447-fb3327a7068f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_08bdc663-406e-499f-9cb4-03315f027572" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_51d4d6f5-3118-4c09-ae70-c9e6ea8c5a3e" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_08bdc663-406e-499f-9cb4-03315f027572" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_7cebd17e-83d9-4e5c-91da-5637bc9d853b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_51d4d6f5-3118-4c09-ae70-c9e6ea8c5a3e" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_7cebd17e-83d9-4e5c-91da-5637bc9d853b" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#CommitmentsandContingentLiabilitiesFuturePaymentsDetails"/>
  <link:calculationLink xlink:role="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_b5f80083-df51-4761-9d66-9d6a61b78fe4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear_1823ad50-d37b-4f0a-b29c-5df5da319c87" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_b5f80083-df51-4761-9d66-9d6a61b78fe4" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear_1823ad50-d37b-4f0a-b29c-5df5da319c87" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne_d9fecec1-25cc-4cf0-98eb-b1c1fd8f6c70" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_b5f80083-df51-4761-9d66-9d6a61b78fe4" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne_d9fecec1-25cc-4cf0-98eb-b1c1fd8f6c70" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>fstr-20230331_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:e6b60733-307a-4608-a609-e78ae7aaa679,g:27e4db7c-fd2f-4e9e-b8f9-b24e60302288-->
<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-20230331.xsd#CondensedConsolidatedStatementsofOperations"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations" xlink:type="extended" id="i2b67a081d84a4b22afe8eb7249cc7198_CondensedConsolidatedStatementsofOperations">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_02da4d5a-ead7-46f7-854b-27bcdbef9245" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_02da4d5a-ead7-46f7-854b-27bcdbef9245" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_6a87bb47-f892-41a5-a7dc-6246fb2a2bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_CostOfRevenue_6a87bb47-f892-41a5-a7dc-6246fb2a2bc5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_345852f6-f33e-4870-9d64-122288a24739" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_GrossProfit_345852f6-f33e-4870-9d64-122288a24739" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_8086b13e-b8b1-481e-9976-a8e98387948f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_8086b13e-b8b1-481e-9976-a8e98387948f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_417913b0-5700-490c-81fc-2a3b0995b22c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_417913b0-5700-490c-81fc-2a3b0995b22c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_f405e7d1-ce38-4db9-918e-1563c00b5d3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_OperatingIncomeLoss_f405e7d1-ce38-4db9-918e-1563c00b5d3b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_cf7476ba-71eb-4f7c-94f2-216ebb5bb8e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_InterestExpense_cf7476ba-71eb-4f7c-94f2-216ebb5bb8e0" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_bd666e6c-b15d-4523-972b-8fb4637f82d4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_bd666e6c-b15d-4523-972b-8fb4637f82d4" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e952fefa-fe1c-41a8-9239-efc4e4af8e3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e952fefa-fe1c-41a8-9239-efc4e4af8e3b" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_d991291a-1b36-40b1-8eed-78cf7a0e7b07" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_d991291a-1b36-40b1-8eed-78cf7a0e7b07" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_b71c6ba0-56e9-4dc8-8a10-3179bcd1059d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_b71c6ba0-56e9-4dc8-8a10-3179bcd1059d" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_b9b86467-8829-4c05-9bf7-614a11c9fbf4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_b9b86467-8829-4c05-9bf7-614a11c9fbf4" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e9fccde9-953a-4608-9bb3-08ff1140c6e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_NetIncomeLoss_e9fccde9-953a-4608-9bb3-08ff1140c6e5" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_650c9a20-afc9-4cbb-ab6c-0955652781aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_EarningsPerShareBasic_650c9a20-afc9-4cbb-ab6c-0955652781aa" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_c44b25eb-2b2e-422f-9de5-4b53dbfd80be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_EarningsPerShareDiluted_c44b25eb-2b2e-422f-9de5-4b53dbfd80be" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_fe053477-2c85-40d7-aad8-3e2c507dc6f8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_StatementTable_fe053477-2c85-40d7-aad8-3e2c507dc6f8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_fc405a99-0709-42cf-8a4f-c009111f1d1c" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_fe053477-2c85-40d7-aad8-3e2c507dc6f8" xlink:to="loc_srt_ProductOrServiceAxis_fc405a99-0709-42cf-8a4f-c009111f1d1c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_fc405a99-0709-42cf-8a4f-c009111f1d1c_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_fc405a99-0709-42cf-8a4f-c009111f1d1c" xlink:to="loc_srt_ProductsAndServicesDomain_fc405a99-0709-42cf-8a4f-c009111f1d1c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_35c37c81-cc1c-4ff4-ae59-a2061a229fbd" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_fc405a99-0709-42cf-8a4f-c009111f1d1c" xlink:to="loc_srt_ProductsAndServicesDomain_35c37c81-cc1c-4ff4-ae59-a2061a229fbd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_e1dcc869-583c-4917-8784-b45b93eb93f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_35c37c81-cc1c-4ff4-ae59-a2061a229fbd" xlink:to="loc_us-gaap_ProductMember_e1dcc869-583c-4917-8784-b45b93eb93f7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ServiceMember_51c04f54-9d26-405f-ae69-f38689794d76" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ServiceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_35c37c81-cc1c-4ff4-ae59-a2061a229fbd" xlink:to="loc_us-gaap_ServiceMember_51c04f54-9d26-405f-ae69-f38689794d76" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="fstr-20230331.xsd#CondensedConsolidatedStatementsofStockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity" xlink:type="extended" id="i5456389edaac4083a5483434c2394917_CondensedConsolidatedStatementsofStockholdersEquity">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_33d7ce1e-81c4-47cd-b2e6-77df1b3a29c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_33d7ce1e-81c4-47cd-b2e6-77df1b3a29c1" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_b7cd1389-8367-485a-93e9-bd34cf923955" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_b7cd1389-8367-485a-93e9-bd34cf923955" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_9837c4f5-16ac-41dd-87df-e8a3b4545648" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_ProfitLoss_9837c4f5-16ac-41dd-87df-e8a3b4545648" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_25457182-7fe5-4faf-8c0f-9ef7d04803c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_25457182-7fe5-4faf-8c0f-9ef7d04803c1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_3be7bf3d-156a-49ac-a58d-7fc4f6e24d15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_3be7bf3d-156a-49ac-a58d-7fc4f6e24d15" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_17267960-29fa-4fe8-8349-652dd387659b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_17267960-29fa-4fe8-8349-652dd387659b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_a8f88c55-cf3c-41eb-b23a-9f2c2d2cd296" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_a8f88c55-cf3c-41eb-b23a-9f2c2d2cd296" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_12c8226a-b6e0-403d-8c58-b3403c563a21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_12c8226a-b6e0-403d-8c58-b3403c563a21" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b7bbd8d8-4a77-4799-8b09-71e11b20153b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b7bbd8d8-4a77-4799-8b09-71e11b20153b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3e09d597-773d-418f-aabe-4513c5946b1b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_31189751-b059-4942-8ff3-99924167dec6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_33d7ce1e-81c4-47cd-b2e6-77df1b3a29c1" xlink:to="loc_us-gaap_StatementTable_31189751-b059-4942-8ff3-99924167dec6" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_2950e8c1-39b8-42be-a967-a1618aba90c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_31189751-b059-4942-8ff3-99924167dec6" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_2950e8c1-39b8-42be-a967-a1618aba90c1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_2950e8c1-39b8-42be-a967-a1618aba90c1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2950e8c1-39b8-42be-a967-a1618aba90c1" xlink:to="loc_us-gaap_EquityComponentDomain_2950e8c1-39b8-42be-a967-a1618aba90c1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2950e8c1-39b8-42be-a967-a1618aba90c1" xlink:to="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_013a6bf8-ecd8-4609-9830-ba1a6505287a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_CommonStockMember_013a6bf8-ecd8-4609-9830-ba1a6505287a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_775fb3de-de37-4285-a022-827e44d320e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_775fb3de-de37-4285-a022-827e44d320e2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_cad8be74-d64c-4078-9971-09f76814a937" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_RetainedEarningsMember_cad8be74-d64c-4078-9971-09f76814a937" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_fe6b864b-dcf6-43a2-a3c1-b6db6b875dc0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_TreasuryStockCommonMember_fe6b864b-dcf6-43a2-a3c1-b6db6b875dc0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_bbed9fe4-9a24-45b9-ba85-adad2b36cf4a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_bbed9fe4-9a24-45b9-ba85-adad2b36cf4a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncontrollingInterestMember_976d7f24-97b8-46e1-9115-4a16d5fb0858" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_NoncontrollingInterestMember_976d7f24-97b8-46e1-9115-4a16d5fb0858" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansTables" xlink:type="simple" xlink:href="fstr-20230331.xsd#RetirementPlansTables"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RetirementPlansTables" xlink:type="extended" id="ic24d9626ef664104b8756ebfdb607e7f_RetirementPlansTables">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_9d085cf3-bc45-44bb-80ac-9a111807ea3d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_ab07bafc-7873-40e0-8b2a-c790ebb85791" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_9d085cf3-bc45-44bb-80ac-9a111807ea3d" xlink:to="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_ab07bafc-7873-40e0-8b2a-c790ebb85791" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_b80122d3-355e-4c4c-be6f-f1be0e8df76e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_9d085cf3-bc45-44bb-80ac-9a111807ea3d" xlink:to="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_b80122d3-355e-4c4c-be6f-f1be0e8df76e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_46a6a069-e975-411a-9175-19e667ae809e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_9d085cf3-bc45-44bb-80ac-9a111807ea3d" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_46a6a069-e975-411a-9175-19e667ae809e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_46a6a069-e975-411a-9175-19e667ae809e" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_57c750f9-b80c-4c42-891a-18b7079cae23" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_57c750f9-b80c-4c42-891a-18b7079cae23" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_0c7801b7-8393-414f-9148-76300a542019" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_57c750f9-b80c-4c42-891a-18b7079cae23" xlink:to="loc_us-gaap_DomesticPlanMember_0c7801b7-8393-414f-9148-76300a542019" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_63dd7256-26b0-43b7-ab01-a2a7678f676e" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DomesticPlanMember_0c7801b7-8393-414f-9148-76300a542019" xlink:to="loc_country_US_63dd7256-26b0-43b7-ab01-a2a7678f676e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_4e307594-3816-4f07-b9de-7cc1abf0d211" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_57c750f9-b80c-4c42-891a-18b7079cae23" xlink:to="loc_us-gaap_ForeignPlanMember_4e307594-3816-4f07-b9de-7cc1abf0d211" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_25be786c-a43e-4abf-9f88-1ab931f8da7b" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_4e307594-3816-4f07-b9de-7cc1abf0d211" xlink:to="loc_country_GB_25be786c-a43e-4abf-9f88-1ab931f8da7b" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" xlink:type="extended" id="i061f91d166914004a38f07f5a2078e1b_BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_94cea3d9-2c0c-4f6d-ad55-8046cfd37afd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_67bfff11-5397-4087-b256-a9102f7286d4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_94cea3d9-2c0c-4f6d-ad55-8046cfd37afd" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_67bfff11-5397-4087-b256-a9102f7286d4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_9e74f976-ff2f-4bd9-bfd0-eceb463e3ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_94cea3d9-2c0c-4f6d-ad55-8046cfd37afd" xlink:to="loc_us-gaap_OperatingIncomeLoss_9e74f976-ff2f-4bd9-bfd0-eceb463e3ff1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_94cea3d9-2c0c-4f6d-ad55-8046cfd37afd" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_924755dd-63c2-43b6-a6be-aebc00ffa548" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_924755dd-63c2-43b6-a6be-aebc00ffa548" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_924755dd-63c2-43b6-a6be-aebc00ffa548_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_924755dd-63c2-43b6-a6be-aebc00ffa548" xlink:to="loc_us-gaap_SegmentDomain_924755dd-63c2-43b6-a6be-aebc00ffa548_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_924755dd-63c2-43b6-a6be-aebc00ffa548" xlink:to="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_f4132a36-b754-496b-af7f-7b7cd2d0adca" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_f4132a36-b754-496b-af7f-7b7cd2d0adca" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_475f7e01-fede-406a-b098-42857920f23d" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:to="loc_fstr_PrecastConcreteProductsMember_475f7e01-fede-406a-b098-42857920f23d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_c0153435-f7a1-4e06-84d4-1957b28e1760" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_c0153435-f7a1-4e06-84d4-1957b28e1760" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_6ccdf484-d78c-438d-82f9-dd0308d9f353" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:to="loc_srt_ConsolidationItemsAxis_6ccdf484-d78c-438d-82f9-dd0308d9f353" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_6ccdf484-d78c-438d-82f9-dd0308d9f353_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_6ccdf484-d78c-438d-82f9-dd0308d9f353" xlink:to="loc_srt_ConsolidationItemsDomain_6ccdf484-d78c-438d-82f9-dd0308d9f353_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_bde3e594-30a3-4725-ab10-e25bf3a73a5e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_6ccdf484-d78c-438d-82f9-dd0308d9f353" xlink:to="loc_srt_ConsolidationItemsDomain_bde3e594-30a3-4725-ab10-e25bf3a73a5e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_defc5b29-bd07-4bb7-92e7-8c1ee4e9dfb6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_bde3e594-30a3-4725-ab10-e25bf3a73a5e" xlink:to="loc_us-gaap_OperatingSegmentsMember_defc5b29-bd07-4bb7-92e7-8c1ee4e9dfb6" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" xlink:type="extended" id="ie463114b109348aa9e80b9ced110cd7e_BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_3cd81484-0e9a-4899-bd74-1931e7e314b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_OperatingIncomeLoss_3cd81484-0e9a-4899-bd74-1931e7e314b1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_c959538b-7990-4ac5-8eb6-edcc0d2662e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_c959538b-7990-4ac5-8eb6-edcc0d2662e9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_8824197a-7798-4ba4-837a-4549a7a295af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_8824197a-7798-4ba4-837a-4549a7a295af" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateExpenseAndOtherUnallocatedCharges_7fa050a4-0c6d-4192-b09b-4bbd60756352" xlink:href="fstr-20230331.xsd#fstr_CorporateExpenseAndOtherUnallocatedCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_fstr_CorporateExpenseAndOtherUnallocatedCharges_7fa050a4-0c6d-4192-b09b-4bbd60756352" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f419789d-5cda-4984-b00d-5b446e1bc0cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f419789d-5cda-4984-b00d-5b446e1bc0cf" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_9dae3fc9-a57b-4967-9293-b5d6d8cbc8b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_9dae3fc9-a57b-4967-9293-b5d6d8cbc8b1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_069733ad-c528-489c-a5c0-9d6ff734c10f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_9dae3fc9-a57b-4967-9293-b5d6d8cbc8b1" xlink:to="loc_srt_ConsolidationItemsAxis_069733ad-c528-489c-a5c0-9d6ff734c10f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_069733ad-c528-489c-a5c0-9d6ff734c10f_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_069733ad-c528-489c-a5c0-9d6ff734c10f" xlink:to="loc_srt_ConsolidationItemsDomain_069733ad-c528-489c-a5c0-9d6ff734c10f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_b772f9eb-536d-414f-8e1d-33da62a7881f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_069733ad-c528-489c-a5c0-9d6ff734c10f" xlink:to="loc_srt_ConsolidationItemsDomain_b772f9eb-536d-414f-8e1d-33da62a7881f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_7f5df942-0171-49cf-8e26-11fe3b0ec743" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_b772f9eb-536d-414f-8e1d-33da62a7881f" xlink:to="loc_us-gaap_OperatingSegmentsMember_7f5df942-0171-49cf-8e26-11fe3b0ec743" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails" xlink:type="extended" id="ia6d3971bc1d043078c64542ac056b60e_BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_92d6d18e-301d-40bb-825e-cd39def0e270" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_efd62c07-97af-40b4-9228-bb3e7f00f362" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_92d6d18e-301d-40bb-825e-cd39def0e270" xlink:to="loc_us-gaap_Assets_efd62c07-97af-40b4-9228-bb3e7f00f362" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_92d6d18e-301d-40bb-825e-cd39def0e270" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_80df7f49-645b-4d8f-b28e-750e5261022b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:to="loc_srt_ConsolidationItemsAxis_80df7f49-645b-4d8f-b28e-750e5261022b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_80df7f49-645b-4d8f-b28e-750e5261022b_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_80df7f49-645b-4d8f-b28e-750e5261022b" xlink:to="loc_srt_ConsolidationItemsDomain_80df7f49-645b-4d8f-b28e-750e5261022b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_da2684f7-c052-4324-a25c-c9d4b0f8e062" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_80df7f49-645b-4d8f-b28e-750e5261022b" xlink:to="loc_srt_ConsolidationItemsDomain_da2684f7-c052-4324-a25c-c9d4b0f8e062" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_05923920-ff72-4192-a624-4156340efe23" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_da2684f7-c052-4324-a25c-c9d4b0f8e062" xlink:to="loc_us-gaap_OperatingSegmentsMember_05923920-ff72-4192-a624-4156340efe23" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_53b2b907-5818-4c07-b804-6d0e5ad4f6f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_da2684f7-c052-4324-a25c-c9d4b0f8e062" xlink:to="loc_us-gaap_CorporateNonSegmentMember_53b2b907-5818-4c07-b804-6d0e5ad4f6f5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_44294937-7da0-4eda-900c-6e5f95850271" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_44294937-7da0-4eda-900c-6e5f95850271" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_44294937-7da0-4eda-900c-6e5f95850271_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_44294937-7da0-4eda-900c-6e5f95850271" xlink:to="loc_us-gaap_SegmentDomain_44294937-7da0-4eda-900c-6e5f95850271_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_44294937-7da0-4eda-900c-6e5f95850271" xlink:to="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_9699af7c-e0b7-45b8-a276-61be5eab78c5" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_9699af7c-e0b7-45b8-a276-61be5eab78c5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_71b5ee90-8808-4169-9c51-74dc640c2fa6" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:to="loc_fstr_PrecastConcreteProductsMember_71b5ee90-8808-4169-9c51-74dc640c2fa6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_822477d2-eb38-4fbc-bf33-a28fe1807998" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_822477d2-eb38-4fbc-bf33-a28fe1807998" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#BusinessSegmentsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails" xlink:type="extended" id="i13acc8e2bb2c43ab82f2c3a2de857f79_BusinessSegmentsNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_02c6a18f-bb88-4779-97b4-4690424e46ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinesses_9970fbf2-0eac-4de3-b9f7-ad1070b6c95d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromDivestitureOfBusinesses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_02c6a18f-bb88-4779-97b4-4690424e46ee" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinesses_9970fbf2-0eac-4de3-b9f7-ad1070b6c95d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_17183598-2ba3-4e79-aa9f-911f7ecd3bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_02c6a18f-bb88-4779-97b4-4690424e46ee" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_17183598-2ba3-4e79-aa9f-911f7ecd3bd9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_391dcb4d-c208-4d4e-ac61-f41bbc1508ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_02c6a18f-bb88-4779-97b4-4690424e46ee" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_391dcb4d-c208-4d4e-ac61-f41bbc1508ec" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis_9c34f7cb-ed5d-4f05-809a-78dc2e63158d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_391dcb4d-c208-4d4e-ac61-f41bbc1508ec" xlink:to="loc_dei_LegalEntityAxis_9c34f7cb-ed5d-4f05-809a-78dc2e63158d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_9c34f7cb-ed5d-4f05-809a-78dc2e63158d_default" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_9c34f7cb-ed5d-4f05-809a-78dc2e63158d" xlink:to="loc_dei_EntityDomain_9c34f7cb-ed5d-4f05-809a-78dc2e63158d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_126faf3c-6ffc-48d9-ba04-dcf3b684dedd" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_9c34f7cb-ed5d-4f05-809a-78dc2e63158d" xlink:to="loc_dei_EntityDomain_126faf3c-6ffc-48d9-ba04-dcf3b684dedd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ChemtecEnergyServicesLLCMember_26be808c-a8db-4af9-bd44-e8c4ef40a68b" xlink:href="fstr-20230331.xsd#fstr_ChemtecEnergyServicesLLCMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityDomain_126faf3c-6ffc-48d9-ba04-dcf3b684dedd" xlink:to="loc_fstr_ChemtecEnergyServicesLLCMember_26be808c-a8db-4af9-bd44-e8c4ef40a68b" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueSalesbyMajorProductLineDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" xlink:type="extended" id="i30f82d96cbf7405fad7ed68cb5d566b4_RevenueSalesbyMajorProductLineDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_a21e5e42-6eb6-4b72-9866-26a0ae52016d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_b2ab8af5-f741-4195-8542-6e82493e40ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a21e5e42-6eb6-4b72-9866-26a0ae52016d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_b2ab8af5-f741-4195-8542-6e82493e40ef" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a21e5e42-6eb6-4b72-9866-26a0ae52016d" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_473af04a-7983-403a-8c2a-911ddff08bed" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:to="loc_srt_ProductOrServiceAxis_473af04a-7983-403a-8c2a-911ddff08bed" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_473af04a-7983-403a-8c2a-911ddff08bed_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_473af04a-7983-403a-8c2a-911ddff08bed" xlink:to="loc_srt_ProductsAndServicesDomain_473af04a-7983-403a-8c2a-911ddff08bed_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_473af04a-7983-403a-8c2a-911ddff08bed" xlink:to="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailProductsAndFrictionManagementMember_aa9bb579-755a-4beb-a966-ee195317123b" xlink:href="fstr-20230331.xsd#fstr_RailProductsAndFrictionManagementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_RailProductsAndFrictionManagementMember_aa9bb579-755a-4beb-a966-ee195317123b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesProductsMember_cfe2f75f-c745-4cc6-90d6-0345be1b0736" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_RailTechnologiesProductsMember_cfe2f75f-c745-4cc6-90d6-0345be1b0736" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteBuildingsMember_8f2d4493-5bc5-477c-9de3-6bafdacc5dab" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteBuildingsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_PrecastConcreteBuildingsMember_8f2d4493-5bc5-477c-9de3-6bafdacc5dab" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherPrecastConcreteProductsMember_388c9ace-8f9f-4ab3-a0e9-a166485ccfae" xlink:href="fstr-20230331.xsd#fstr_OtherPrecastConcreteProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_OtherPrecastConcreteProductsMember_388c9ace-8f9f-4ab3-a0e9-a166485ccfae" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FabricatedSteelProductsMember_ec3d5f87-4249-4b24-90ba-4a4a00da25f1" xlink:href="fstr-20230331.xsd#fstr_FabricatedSteelProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_FabricatedSteelProductsMember_ec3d5f87-4249-4b24-90ba-4a4a00da25f1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CoatingsAndMeasurementMember_2666ca4d-3edf-4682-ade4-6917aa968696" xlink:href="fstr-20230331.xsd#fstr_CoatingsAndMeasurementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_CoatingsAndMeasurementMember_2666ca4d-3edf-4682-ade4-6917aa968696" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_951c706a-b8ae-4c89-88cf-2d3f47d7dee9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_951c706a-b8ae-4c89-88cf-2d3f47d7dee9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_951c706a-b8ae-4c89-88cf-2d3f47d7dee9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_951c706a-b8ae-4c89-88cf-2d3f47d7dee9" xlink:to="loc_us-gaap_SegmentDomain_951c706a-b8ae-4c89-88cf-2d3f47d7dee9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_951c706a-b8ae-4c89-88cf-2d3f47d7dee9" xlink:to="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_976d7585-aecc-4483-b4d1-33a9a51d7549" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_976d7585-aecc-4483-b4d1-33a9a51d7549" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_2e13098e-499b-43e3-b715-61ce7fbe15ca" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:to="loc_fstr_PrecastConcreteProductsMember_2e13098e-499b-43e3-b715-61ce7fbe15ca" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_40533e77-0481-49b7-b484-d5eab68c6d5b" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_40533e77-0481-49b7-b484-d5eab68c6d5b" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueTimingofTransferDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueTimingofTransferDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueTimingofTransferDetails" xlink:type="extended" id="i981d57b9c9dd4d2eb4443d42179f4119_RevenueTimingofTransferDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_b3185862-0ba4-4030-99d4-4c514b7e5a52" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_ece71195-9690-4b02-89fd-e88d09a24761" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b3185862-0ba4-4030-99d4-4c514b7e5a52" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_ece71195-9690-4b02-89fd-e88d09a24761" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b3185862-0ba4-4030-99d4-4c514b7e5a52" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_bfe8e633-034e-45e6-8764-0bb54dd44c4a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_bfe8e633-034e-45e6-8764-0bb54dd44c4a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_bfe8e633-034e-45e6-8764-0bb54dd44c4a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_bfe8e633-034e-45e6-8764-0bb54dd44c4a" xlink:to="loc_us-gaap_SegmentDomain_bfe8e633-034e-45e6-8764-0bb54dd44c4a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_bfe8e633-034e-45e6-8764-0bb54dd44c4a" xlink:to="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_2ef7d89a-294c-4abd-ba87-6fa085285adf" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_2ef7d89a-294c-4abd-ba87-6fa085285adf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_3b692d43-4521-4f3f-9f86-0afcb9f18ef5" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:to="loc_fstr_PrecastConcreteProductsMember_3b692d43-4521-4f3f-9f86-0afcb9f18ef5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_453fbc5b-803a-4e8a-9765-d19557ef84aa" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_453fbc5b-803a-4e8a-9765-d19557ef84aa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_07038ba6-c021-4b5b-a39e-00eb6a7223b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_07038ba6-c021-4b5b-a39e-00eb6a7223b1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_07038ba6-c021-4b5b-a39e-00eb6a7223b1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_07038ba6-c021-4b5b-a39e-00eb6a7223b1" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_07038ba6-c021-4b5b-a39e-00eb6a7223b1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_77b98523-a7a9-4083-bea6-71a7b7465d08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_07038ba6-c021-4b5b-a39e-00eb6a7223b1" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_77b98523-a7a9-4083-bea6-71a7b7465d08" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_1a646c3f-bb7f-47f6-8d5c-7f8d88b683ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_77b98523-a7a9-4083-bea6-71a7b7465d08" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_1a646c3f-bb7f-47f6-8d5c-7f8d88b683ee" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_fa4b77a9-ed3f-4be0-a95d-13d1346c3388" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_77b98523-a7a9-4083-bea6-71a7b7465d08" xlink:to="loc_us-gaap_TransferredOverTimeMember_fa4b77a9-ed3f-4be0-a95d-13d1346c3388" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueOverTimeSalesDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueOverTimeSalesDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueOverTimeSalesDetails" xlink:type="extended" id="i6a87fc33c02d44a8a8aba8570dc077eb_RevenueOverTimeSalesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_6e043cb4-42ac-452d-b243-316067db107d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesAmount_96e4e6d0-9faf-4b23-8554-e65487bb209c" xlink:href="fstr-20230331.xsd#fstr_OverTimeSalesAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6e043cb4-42ac-452d-b243-316067db107d" xlink:to="loc_fstr_OverTimeSalesAmount_96e4e6d0-9faf-4b23-8554-e65487bb209c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesPercent_d5ab15fe-36dd-4c1e-add0-0e383d0fe1c5" xlink:href="fstr-20230331.xsd#fstr_OverTimeSalesPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6e043cb4-42ac-452d-b243-316067db107d" xlink:to="loc_fstr_OverTimeSalesPercent_d5ab15fe-36dd-4c1e-add0-0e383d0fe1c5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_41c4965a-efc4-48db-bf32-0b893aea4363" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6e043cb4-42ac-452d-b243-316067db107d" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_41c4965a-efc4-48db-bf32-0b893aea4363" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_223bdd0c-9a93-439e-bcc7-782fec936417" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_41c4965a-efc4-48db-bf32-0b893aea4363" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_223bdd0c-9a93-439e-bcc7-782fec936417" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_223bdd0c-9a93-439e-bcc7-782fec936417_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_223bdd0c-9a93-439e-bcc7-782fec936417" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_223bdd0c-9a93-439e-bcc7-782fec936417_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a6c43283-8d64-4db2-a0d0-3f3f1b2788e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_223bdd0c-9a93-439e-bcc7-782fec936417" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a6c43283-8d64-4db2-a0d0-3f3f1b2788e3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeInputMethodMember_cc355fc3-ade7-4551-938e-5f416f220fe1" xlink:href="fstr-20230331.xsd#fstr_OverTimeInputMethodMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a6c43283-8d64-4db2-a0d0-3f3f1b2788e3" xlink:to="loc_fstr_OverTimeInputMethodMember_cc355fc3-ade7-4551-938e-5f416f220fe1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeOutputMethodMember_28a75708-5428-47d9-89f4-29c1aa05ccdd" xlink:href="fstr-20230331.xsd#fstr_OverTimeOutputMethodMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a6c43283-8d64-4db2-a0d0-3f3f1b2788e3" xlink:to="loc_fstr_OverTimeOutputMethodMember_28a75708-5428-47d9-89f4-29c1aa05ccdd" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueRemainingPerformanceObligationDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="extended" id="i61915f2ef94b46149b81fbee99a7f794_RevenueRemainingPerformanceObligationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_26e9409d-77bc-4f62-95bd-b1b549e34e25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_26e9409d-77bc-4f62-95bd-b1b549e34e25" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8604e681-192b-43f9-a6ce-750e7ec3bacf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8604e681-192b-43f9-a6ce-750e7ec3bacf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_0172647d-9dbb-40d2-87a0-aac8e6857de7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_0172647d-9dbb-40d2-87a0-aac8e6857de7" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueRemainingPerformanceObligationDetails_1"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="extended" id="ia8b08300083d4b32ab4c8b599bfe4a91_RevenueRemainingPerformanceObligationDetails_1">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_26e9409d-77bc-4f62-95bd-b1b549e34e25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_26e9409d-77bc-4f62-95bd-b1b549e34e25" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8604e681-192b-43f9-a6ce-750e7ec3bacf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8604e681-192b-43f9-a6ce-750e7ec3bacf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" xlink:type="extended" id="id787e8271e934d7badad11c899bcff78_GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_3ce9b382-56da-4e89-a15c-2381cd24ff3c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_3ce9b382-56da-4e89-a15c-2381cd24ff3c" xlink:to="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_4ff31ad9-543b-4aca-abbd-e3d724c938fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:to="loc_us-gaap_Goodwill_4ff31ad9-543b-4aca-abbd-e3d724c938fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_f275cb6b-8150-4301-aeac-7861ee728930" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_f275cb6b-8150-4301-aeac-7861ee728930" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_99dfd963-f02b-4b6d-abc6-89f6678cf760" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_80b99915-3d45-4995-99b9-8eca9bcac2a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_3ce9b382-56da-4e89-a15c-2381cd24ff3c" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_80b99915-3d45-4995-99b9-8eca9bcac2a4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_1c69dc1b-2820-4106-97e0-74074b0a6201" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_80b99915-3d45-4995-99b9-8eca9bcac2a4" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_1c69dc1b-2820-4106-97e0-74074b0a6201" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_1c69dc1b-2820-4106-97e0-74074b0a6201_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_1c69dc1b-2820-4106-97e0-74074b0a6201" xlink:to="loc_us-gaap_SegmentDomain_1c69dc1b-2820-4106-97e0-74074b0a6201_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_1c69dc1b-2820-4106-97e0-74074b0a6201" xlink:to="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_2439514d-6a90-412a-a3e2-8551ad3e5441" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_2439514d-6a90-412a-a3e2-8551ad3e5441" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_6ffc4e7d-24ad-4ff8-8f5b-2e1f26c49ae4" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:to="loc_fstr_PrecastConcreteProductsMember_6ffc4e7d-24ad-4ff8-8f5b-2e1f26c49ae4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_272f5177-5783-46f1-8cd2-6b2b3f235696" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_272f5177-5783-46f1-8cd2-6b2b3f235696" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails" xlink:type="extended" id="i0afaecc75b094b27b02fed200ef6d8a1_GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_8bf81d5c-e4be-4f9d-9afa-b3503a927847" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_8bf81d5c-e4be-4f9d-9afa-b3503a927847" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a255769e-17b6-40e1-8528-a953e2e25791" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a255769e-17b6-40e1-8528-a953e2e25791" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_f8b59207-1cc0-45e4-81b7-4615cf3adda9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_f8b59207-1cc0-45e4-81b7-4615cf3adda9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_f1c0656c-09e7-4a68-99e3-d9404a40b0d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_f1c0656c-09e7-4a68-99e3-d9404a40b0d2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_026379ac-789b-46de-8f1e-95d30678a50a" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:to="loc_srt_RangeAxis_026379ac-789b-46de-8f1e-95d30678a50a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_026379ac-789b-46de-8f1e-95d30678a50a_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_026379ac-789b-46de-8f1e-95d30678a50a" xlink:to="loc_srt_RangeMember_026379ac-789b-46de-8f1e-95d30678a50a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_b677261d-0cfe-4995-a95b-019ae66ba6ba" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_026379ac-789b-46de-8f1e-95d30678a50a" xlink:to="loc_srt_RangeMember_b677261d-0cfe-4995-a95b-019ae66ba6ba" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember_5298fecb-cc09-49fa-9124-b268e7c005bf" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_WeightedAverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_b677261d-0cfe-4995-a95b-019ae66ba6ba" xlink:to="loc_srt_WeightedAverageMember_5298fecb-cc09-49fa-9124-b268e7c005bf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_01084b5e-da4d-477d-acb0-72e5be8fbcba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_01084b5e-da4d-477d-acb0-72e5be8fbcba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_13bc0f16-f73c-4ee1-bf42-f01f4105178c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PatentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_PatentsMember_13bc0f16-f73c-4ee1-bf42-f01f4105178c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_d0722509-d9c0-4af2-a079-d822748ec130" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_CustomerRelationshipsMember_d0722509-d9c0-4af2-a079-d822748ec130" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_b76d1fe8-6d70-418d-a1ca-d7481eed797a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_b76d1fe8-6d70-418d-a1ca-d7481eed797a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_330ccf78-8708-4e60-9952-e689a8d35727" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_330ccf78-8708-4e60-9952-e689a8d35727" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffMarketFavorableLeaseMember_8d8e91f7-f1f9-4982-a2c6-f1d740048ee8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffMarketFavorableLeaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_OffMarketFavorableLeaseMember_8d8e91f7-f1f9-4982-a2c6-f1d740048ee8" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#AccountsReceivableNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails" xlink:type="extended" id="i9d6c0b260aef4a0f88b48a7163223046_AccountsReceivableNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_d1dbc3c1-7d36-4f11-bb7d-fcd5a9b07fe6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_b8183971-ff8c-4817-aeed-895aa54aa8dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_d1dbc3c1-7d36-4f11-bb7d-fcd5a9b07fe6" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_b8183971-ff8c-4817-aeed-895aa54aa8dd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_f8ca3be8-6fa3-4271-953d-0232c8e564ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_d1dbc3c1-7d36-4f11-bb7d-fcd5a9b07fe6" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_f8ca3be8-6fa3-4271-953d-0232c8e564ee" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_f8ca3be8-6fa3-4271-953d-0232c8e564ee" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_960fec14-ad4b-43c7-8086-583dfaffb666" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_960fec14-ad4b-43c7-8086-583dfaffb666" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_0903103d-379b-4b19-af26-cf46b544c889" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_960fec14-ad4b-43c7-8086-583dfaffb666" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_0903103d-379b-4b19-af26-cf46b544c889" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#LongtermDebtandRelatedMattersNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails" xlink:type="extended" id="i924d4c9d7c074391a97ff4a891d12ee9_LongtermDebtandRelatedMattersNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm_2e39f6b5-441c-4bc2-aaa1-02334c7247bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_DebtInstrumentTerm_2e39f6b5-441c-4bc2-aaa1-02334c7247bd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d4f71d33-33a2-4f4c-86c9-110565bd4272" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d4f71d33-33a2-4f4c-86c9-110565bd4272" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_91c45712-8412-4184-bb3c-34e624f8efb5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_91c45712-8412-4184-bb3c-34e624f8efb5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption_c77eba43-5e11-444c-82e7-ffa01ccd6e4b" xlink:href="fstr-20230331.xsd#fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption_c77eba43-5e11-444c-82e7-ffa01ccd6e4b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments_77b91a6e-7882-401e-baf9-f41d97a34efc" xlink:href="fstr-20230331.xsd#fstr_LineOfCreditFacilityMaximumIncreaseInCommitments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments_77b91a6e-7882-401e-baf9-f41d97a34efc" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentNumberOfFinancialCovenants_13d0f22a-92ff-4c60-88f3-bfd238d9f26e" xlink:href="fstr-20230331.xsd#fstr_DebtInstrumentNumberOfFinancialCovenants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_DebtInstrumentNumberOfFinancialCovenants_13d0f22a-92ff-4c60-88f3-bfd238d9f26e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum_2bff18dd-ff67-4b67-be66-6bb8fe8bc0c0" xlink:href="fstr-20230331.xsd#fstr_DebtInstrumentCovenantLeverageRatioMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum_2bff18dd-ff67-4b67-be66-6bb8fe8bc0c0" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_672ad74a-d9f8-49fc-a47e-58f4068602ba" xlink:href="fstr-20230331.xsd#fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_672ad74a-d9f8-49fc-a47e-58f4068602ba" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_19044f25-68a8-4139-a649-0f2bc72d21bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_LineOfCredit_19044f25-68a8-4139-a649-0f2bc72d21bb" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_9ed0940a-d279-4f8b-89e2-0a51e24d588d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_9ed0940a-d279-4f8b-89e2-0a51e24d588d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_9ed0940a-d279-4f8b-89e2-0a51e24d588d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_9ed0940a-d279-4f8b-89e2-0a51e24d588d" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_9ed0940a-d279-4f8b-89e2-0a51e24d588d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_d4f2d70c-3e41-46d5-88f5-35cab85cae9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_9ed0940a-d279-4f8b-89e2-0a51e24d588d" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_d4f2d70c-3e41-46d5-88f5-35cab85cae9a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember_cdd48415-558f-4c0b-9faf-a521380d581b" xlink:href="fstr-20230331.xsd#fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain_d4f2d70c-3e41-46d5-88f5-35cab85cae9a" xlink:to="loc_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember_cdd48415-558f-4c0b-9faf-a521380d581b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_65fc1710-4919-4fc4-b4c3-40851ad5c78e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_CreditFacilityAxis_65fc1710-4919-4fc4-b4c3-40851ad5c78e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_65fc1710-4919-4fc4-b4c3-40851ad5c78e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_65fc1710-4919-4fc4-b4c3-40851ad5c78e" xlink:to="loc_us-gaap_CreditFacilityDomain_65fc1710-4919-4fc4-b4c3-40851ad5c78e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_a9073fc2-aacf-4cc6-9c48-42516f7b2a6c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_65fc1710-4919-4fc4-b4c3-40851ad5c78e" xlink:to="loc_us-gaap_CreditFacilityDomain_a9073fc2-aacf-4cc6-9c48-42516f7b2a6c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_23e50f2f-92c0-463b-b538-3971fb8fe2a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_a9073fc2-aacf-4cc6-9c48-42516f7b2a6c" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_23e50f2f-92c0-463b-b538-3971fb8fe2a6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_514f2f70-5918-443c-93fb-1b25ce22b068" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_DebtInstrumentAxis_514f2f70-5918-443c-93fb-1b25ce22b068" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_514f2f70-5918-443c-93fb-1b25ce22b068_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_514f2f70-5918-443c-93fb-1b25ce22b068" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_514f2f70-5918-443c-93fb-1b25ce22b068_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_9cc6a7a5-af18-4e60-9c0a-22d28acb29a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_514f2f70-5918-443c-93fb-1b25ce22b068" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_9cc6a7a5-af18-4e60-9c0a-22d28acb29a2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FourthAmendedAndRestatedCreditAgreementMember_2522ab8a-0554-4317-8d67-c06cea5def5b" xlink:href="fstr-20230331.xsd#fstr_FourthAmendedAndRestatedCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_9cc6a7a5-af18-4e60-9c0a-22d28acb29a2" xlink:to="loc_fstr_FourthAmendedAndRestatedCreditAgreementMember_2522ab8a-0554-4317-8d67-c06cea5def5b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PriorCreditFacilityMember_034e0de6-5c25-4d24-add8-1813f18bf8e9" xlink:href="fstr-20230331.xsd#fstr_PriorCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_9cc6a7a5-af18-4e60-9c0a-22d28acb29a2" xlink:to="loc_fstr_PriorCreditFacilityMember_034e0de6-5c25-4d24-add8-1813f18bf8e9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_ba67baf2-7115-4361-8abb-e646751e4a05" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_ba67baf2-7115-4361-8abb-e646751e4a05" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ba67baf2-7115-4361-8abb-e646751e4a05_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_ba67baf2-7115-4361-8abb-e646751e4a05" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ba67baf2-7115-4361-8abb-e646751e4a05_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ed88f18d-6c4b-4106-8ab4-896df9f03d16" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_ba67baf2-7115-4361-8abb-e646751e4a05" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ed88f18d-6c4b-4106-8ab4-896df9f03d16" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_b44c4ae8-fe69-4be7-a891-85a3a0a2e2be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ed88f18d-6c4b-4106-8ab4-896df9f03d16" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_b44c4ae8-fe69-4be7-a891-85a3a0a2e2be" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_1261f90e-2555-4be3-9b80-6624525522ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ed88f18d-6c4b-4106-8ab4-896df9f03d16" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_1261f90e-2555-4be3-9b80-6624525522ce" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#StockBasedCompensationNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" xlink:type="extended" id="i94fcfee0066044978242e906bf2a4c9b_StockBasedCompensationNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_e514060a-26c1-4f60-beab-6026834492fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_ShareBasedCompensation_e514060a-26c1-4f60-beab-6026834492fd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_dad41dff-9f4e-4cf3-b00d-030509f88a21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_dad41dff-9f4e-4cf3-b00d-030509f88a21" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_d0cd03d1-2691-473e-9081-5565372a8d47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_d0cd03d1-2691-473e-9081-5565372a8d47" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_bed427b6-6d3f-4931-b687-ac11f77b03ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_bed427b6-6d3f-4931-b687-ac11f77b03ac" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod_da1a5fcd-a93d-446f-93f1-154974e5406b" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod_da1a5fcd-a93d-446f-93f1-154974e5406b" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_16bff7cd-b954-4ead-b389-0412a89eece6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_us-gaap_AwardTypeAxis_16bff7cd-b954-4ead-b389-0412a89eece6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_16bff7cd-b954-4ead-b389-0412a89eece6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_16bff7cd-b954-4ead-b389-0412a89eece6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_16bff7cd-b954-4ead-b389-0412a89eece6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_521cd5f6-8927-437a-89cf-29c01de96788" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_16bff7cd-b954-4ead-b389-0412a89eece6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_521cd5f6-8927-437a-89cf-29c01de96788" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_50b54ed3-9ddd-4ef3-a4f3-8b6880206cb1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_521cd5f6-8927-437a-89cf-29c01de96788" xlink:to="loc_us-gaap_RestrictedStockMember_50b54ed3-9ddd-4ef3-a4f3-8b6880206cb1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_fea13491-d6e0-4c98-937c-8ce80a2780bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_521cd5f6-8927-437a-89cf-29c01de96788" xlink:to="loc_us-gaap_PerformanceSharesMember_fea13491-d6e0-4c98-937c-8ce80a2780bf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_3445daf5-00f7-4d01-9c46-7163f51089c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_us-gaap_VestingAxis_3445daf5-00f7-4d01-9c46-7163f51089c9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_3445daf5-00f7-4d01-9c46-7163f51089c9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_3445daf5-00f7-4d01-9c46-7163f51089c9" xlink:to="loc_us-gaap_VestingDomain_3445daf5-00f7-4d01-9c46-7163f51089c9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_b5ac56b3-5a3e-4428-add0-d38e48ed230e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_3445daf5-00f7-4d01-9c46-7163f51089c9" xlink:to="loc_us-gaap_VestingDomain_b5ac56b3-5a3e-4428-add0-d38e48ed230e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_c73f1ec2-becf-4fdb-9668-11a302c6aa1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_b5ac56b3-5a3e-4428-add0-d38e48ed230e" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_c73f1ec2-becf-4fdb-9668-11a302c6aa1f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_b161ff2a-cc6e-4899-ad9e-3c377fdf0b0f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_b5ac56b3-5a3e-4428-add0-d38e48ed230e" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_b161ff2a-cc6e-4899-ad9e-3c377fdf0b0f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_725fa8c0-c57c-410b-90e7-99dfe1a5bd87" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_srt_RangeAxis_725fa8c0-c57c-410b-90e7-99dfe1a5bd87" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_725fa8c0-c57c-410b-90e7-99dfe1a5bd87_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_725fa8c0-c57c-410b-90e7-99dfe1a5bd87" xlink:to="loc_srt_RangeMember_725fa8c0-c57c-410b-90e7-99dfe1a5bd87_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_0355b3d3-dfd3-4205-9b32-39678d3e1d9b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_725fa8c0-c57c-410b-90e7-99dfe1a5bd87" xlink:to="loc_srt_RangeMember_0355b3d3-dfd3-4205-9b32-39678d3e1d9b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_5faa2871-8667-45be-a7f9-6f52cd955753" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_0355b3d3-dfd3-4205-9b32-39678d3e1d9b" xlink:to="loc_srt_MinimumMember_5faa2871-8667-45be-a7f9-6f52cd955753" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_c19dd49c-14c3-49b4-b455-c626196b470f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_srt_TitleOfIndividualAxis_c19dd49c-14c3-49b4-b455-c626196b470f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_c19dd49c-14c3-49b4-b455-c626196b470f_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_c19dd49c-14c3-49b4-b455-c626196b470f" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_c19dd49c-14c3-49b4-b455-c626196b470f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_186123f9-ebbd-4466-a318-a2f583f4b77e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_c19dd49c-14c3-49b4-b455-c626196b470f" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_186123f9-ebbd-4466-a318-a2f583f4b77e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_DirectorMember_ef8429c9-9cc1-462e-8eae-90c380a08ac8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_DirectorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_186123f9-ebbd-4466-a318-a2f583f4b77e" xlink:to="loc_srt_DirectorMember_ef8429c9-9cc1-462e-8eae-90c380a08ac8" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" xlink:type="extended" id="ibaaf7d5b827949a0a0dd45c02bae030f_StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0a99bdb1-0c1d-4cd8-b79e-fef728e81db2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0a99bdb1-0c1d-4cd8-b79e-fef728e81db2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_5c80c48a-313e-4b1f-9b17-92b63f5cacfc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_5c80c48a-313e-4b1f-9b17-92b63f5cacfc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_6670489c-6a68-439b-84f8-d0bb79b450c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_6670489c-6a68-439b-84f8-d0bb79b450c1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_aa7e6778-a725-4178-bc38-41075a6201d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_aa7e6778-a725-4178-bc38-41075a6201d5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest_50330023-855e-4c46-9098-500cf2772cc1" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest_50330023-855e-4c46-9098-500cf2772cc1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_56271d91-8319-4bdb-9de8-b5d3e934214f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0a99bdb1-0c1d-4cd8-b79e-fef728e81db2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6bdb9f97-0ffc-44bf-b41e-fd5e3b8abb20" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6bdb9f97-0ffc-44bf-b41e-fd5e3b8abb20" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_353540f6-3e32-4557-9235-4ef5d935a771" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_353540f6-3e32-4557-9235-4ef5d935a771" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_b2da4b53-2068-4eca-8367-b9dbb043b7c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_b2da4b53-2068-4eca-8367-b9dbb043b7c2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue_abe4737c-a63f-4829-b546-6dcaaa853be5" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue_abe4737c-a63f-4829-b546-6dcaaa853be5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_20c5fbf3-da2e-49b5-a997-810646724c45" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_285d2487-5a6b-4d3d-a40f-55a3a869946b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0a99bdb1-0c1d-4cd8-b79e-fef728e81db2" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_285d2487-5a6b-4d3d-a40f-55a3a869946b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_51926524-d5af-4863-a037-f76d309310b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_285d2487-5a6b-4d3d-a40f-55a3a869946b" xlink:to="loc_us-gaap_AwardTypeAxis_51926524-d5af-4863-a037-f76d309310b2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_51926524-d5af-4863-a037-f76d309310b2_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_51926524-d5af-4863-a037-f76d309310b2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_51926524-d5af-4863-a037-f76d309310b2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_51926524-d5af-4863-a037-f76d309310b2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_06d4ca3c-e6fa-42d8-94fd-891e3f7aee75" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:to="loc_us-gaap_RestrictedStockMember_06d4ca3c-e6fa-42d8-94fd-891e3f7aee75" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DeferredStockUnitsMember_0daeefeb-3342-410c-b416-215d2c6ee6a4" xlink:href="fstr-20230331.xsd#fstr_DeferredStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:to="loc_fstr_DeferredStockUnitsMember_0daeefeb-3342-410c-b416-215d2c6ee6a4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_171580f4-ba75-4639-b9ae-a83d5a2bffb0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:to="loc_us-gaap_PerformanceSharesMember_171580f4-ba75-4639-b9ae-a83d5a2bffb0" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="extended" id="ide49211f892743b9b7003ce6bd657ba7_FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f8ff4ca8-a04c-4ff9-9c63-f98b1284a59c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f8ff4ca8-a04c-4ff9-9c63-f98b1284a59c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_27228ad7-8c08-4829-b579-bdba484b35ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_us-gaap_DerivativeAssets_27228ad7-8c08-4829-b579-bdba484b35ab" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_9dd061ac-ed46-40ad-8fc4-d1d17c5a515e" xlink:href="fstr-20230331.xsd#fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_9dd061ac-ed46-40ad-8fc4-d1d17c5a515e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_82dd620f-7707-4507-86f3-35d5cbb61575" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_82dd620f-7707-4507-86f3-35d5cbb61575" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0a109e5d-5be6-49ff-b070-f424955b3af3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0a109e5d-5be6-49ff-b070-f424955b3af3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_1639826c-2392-4dcd-a705-985c4f4da5e8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0a109e5d-5be6-49ff-b070-f424955b3af3" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_1639826c-2392-4dcd-a705-985c4f4da5e8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1639826c-2392-4dcd-a705-985c4f4da5e8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_1639826c-2392-4dcd-a705-985c4f4da5e8" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1639826c-2392-4dcd-a705-985c4f4da5e8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_1639826c-2392-4dcd-a705-985c4f4da5e8" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_2dfe3743-61ff-47f3-a255-117f372bf669" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_2dfe3743-61ff-47f3-a255-117f372bf669" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_9b338ed0-aab7-4cd0-badb-50a773c6c3ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_9b338ed0-aab7-4cd0-badb-50a773c6c3ad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_ebfcb2d9-13e2-49e0-a94f-85a2dd8ebbd3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_ebfcb2d9-13e2-49e0-a94f-85a2dd8ebbd3" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#FairValueMeasurementsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="extended" id="i17313798bcbc4d89b0d490f79d0bb95e_FairValueMeasurementsNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_8f5dc76f-02d5-4011-a95c-74a72445f378" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InterestIncome_6dab28aa-2a4d-4ffa-b6e4-f1ebfb99adfb" xlink:href="fstr-20230331.xsd#fstr_InterestIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_8f5dc76f-02d5-4011-a95c-74a72445f378" xlink:to="loc_fstr_InterestIncome_6dab28aa-2a4d-4ffa-b6e4-f1ebfb99adfb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_c1b5ef55-983a-4507-a375-97ae326a8390" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_8f5dc76f-02d5-4011-a95c-74a72445f378" xlink:to="loc_us-gaap_InterestExpense_c1b5ef55-983a-4507-a375-97ae326a8390" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_5b7c0b5e-6ca7-47ab-b266-6cb764a8eb7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_8f5dc76f-02d5-4011-a95c-74a72445f378" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_5b7c0b5e-6ca7-47ab-b266-6cb764a8eb7f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_b285032b-6de7-44b5-81e4-0a3c9daf0452" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_5b7c0b5e-6ca7-47ab-b266-6cb764a8eb7f" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_b285032b-6de7-44b5-81e4-0a3c9daf0452" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_b285032b-6de7-44b5-81e4-0a3c9daf0452_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_b285032b-6de7-44b5-81e4-0a3c9daf0452" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_b285032b-6de7-44b5-81e4-0a3c9daf0452_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_59a286a7-7123-4e3a-9606-c4704f7e38b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_b285032b-6de7-44b5-81e4-0a3c9daf0452" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_59a286a7-7123-4e3a-9606-c4704f7e38b8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SwapMember_fac2223f-976b-4d19-b492-e72a29d06734" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SwapMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_59a286a7-7123-4e3a-9606-c4704f7e38b8" xlink:to="loc_us-gaap_SwapMember_fac2223f-976b-4d19-b492-e72a29d06734" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RetirementPlansNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" xlink:type="extended" id="i0360e9d6062c4c5abaa3639083380083_RetirementPlansNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfRetirementPlans_d28c3d77-9462-4135-883f-014ea38820ec" xlink:href="fstr-20230331.xsd#fstr_NumberOfRetirementPlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_fstr_NumberOfRetirementPlans_d28c3d77-9462-4135-883f-014ea38820ec" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DefinedBenefitPlanNumber_20cd3128-904c-45c8-ae6b-33f58cf70689" xlink:href="fstr-20230331.xsd#fstr_DefinedBenefitPlanNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_fstr_DefinedBenefitPlanNumber_20cd3128-904c-45c8-ae6b-33f58cf70689" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfDefinedContributionPlans_89102dda-5875-4edf-ba52-9d447bf468ce" xlink:href="fstr-20230331.xsd#fstr_NumberOfDefinedContributionPlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_fstr_NumberOfDefinedContributionPlans_89102dda-5875-4edf-ba52-9d447bf468ce" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear_bae484c6-0809-4ec4-a24d-86bb1897e6b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear_bae484c6-0809-4ec4-a24d-86bb1897e6b2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_5720ddf5-71eb-4f79-9b89-f5bdb7c2a9b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_5720ddf5-71eb-4f79-9b89-f5bdb7c2a9b8" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_9919748a-2025-44d4-ae96-db5f98eeef89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_9919748a-2025-44d4-ae96-db5f98eeef89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_9919748a-2025-44d4-ae96-db5f98eeef89_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_9919748a-2025-44d4-ae96-db5f98eeef89" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_9919748a-2025-44d4-ae96-db5f98eeef89_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_d9de3085-8f75-4033-a613-e1f1788af602" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_9919748a-2025-44d4-ae96-db5f98eeef89" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_d9de3085-8f75-4033-a613-e1f1788af602" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_e432db68-8f7f-4572-bf6a-ef048865f954" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_d9de3085-8f75-4033-a613-e1f1788af602" xlink:to="loc_us-gaap_DomesticPlanMember_e432db68-8f7f-4572-bf6a-ef048865f954" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_fdb3c25d-ab77-49d0-be00-1e4c54b7dfb8" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DomesticPlanMember_e432db68-8f7f-4572-bf6a-ef048865f954" xlink:to="loc_country_US_fdb3c25d-ab77-49d0-be00-1e4c54b7dfb8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_e18493b5-a294-4e05-9b4a-284653d7d291" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_d9de3085-8f75-4033-a613-e1f1788af602" xlink:to="loc_us-gaap_ForeignPlanMember_e18493b5-a294-4e05-9b4a-284653d7d291" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA_d106dcc3-06a2-44e0-b5a1-09f04669e158" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_e18493b5-a294-4e05-9b4a-284653d7d291" xlink:to="loc_country_CA_d106dcc3-06a2-44e0-b5a1-09f04669e158" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_f1835c2c-bf70-45fa-b055-754dc89e10dc" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_e18493b5-a294-4e05-9b4a-284653d7d291" xlink:to="loc_country_GB_f1835c2c-bf70-45fa-b055-754dc89e10dc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_78b3efda-7523-4ff5-8b48-4032fb5550e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_78b3efda-7523-4ff5-8b48-4032fb5550e2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_78b3efda-7523-4ff5-8b48-4032fb5550e2_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_78b3efda-7523-4ff5-8b48-4032fb5550e2" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_78b3efda-7523-4ff5-8b48-4032fb5550e2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_0f058c84-3696-4e31-a6eb-f2daec472a27" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_78b3efda-7523-4ff5-8b48-4032fb5550e2" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_0f058c84-3696-4e31-a6eb-f2daec472a27" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_3b50cce8-acc4-48d2-af04-b53e2f733616" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_0f058c84-3696-4e31-a6eb-f2daec472a27" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_3b50cce8-acc4-48d2-af04-b53e2f733616" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RetirementPlansScheduleOfNetBenefitCostsDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails" xlink:type="extended" id="i2405387442414eedbbfcce2464163e0e_RetirementPlansScheduleOfNetBenefitCostsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_3831a342-c42f-4467-b560-1012100f1446" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_3831a342-c42f-4467-b560-1012100f1446" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_7758a965-1625-47cc-923f-fdb5e4eb53f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_7758a965-1625-47cc-923f-fdb5e4eb53f4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_3134f611-54f9-4553-830a-080c17d3a1e7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_3134f611-54f9-4553-830a-080c17d3a1e7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_8716a48f-792e-47d4-b32b-b3a393695d32" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_8716a48f-792e-47d4-b32b-b3a393695d32" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_6312bee8-a6ec-4366-86a1-f118cd371f6d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_6312bee8-a6ec-4366-86a1-f118cd371f6d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_a6805af8-ebe1-41a7-9728-637859ea7585" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_a6805af8-ebe1-41a7-9728-637859ea7585" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_531e412a-d179-4876-92f6-52d437baf268" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_a6805af8-ebe1-41a7-9728-637859ea7585" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_531e412a-d179-4876-92f6-52d437baf268" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_531e412a-d179-4876-92f6-52d437baf268_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_531e412a-d179-4876-92f6-52d437baf268" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_531e412a-d179-4876-92f6-52d437baf268_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_b4e921d7-9cde-4fe4-b473-e4740b3c080c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_531e412a-d179-4876-92f6-52d437baf268" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_b4e921d7-9cde-4fe4-b473-e4740b3c080c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_878ae841-6a60-4789-9d99-e308b3d10c5e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_b4e921d7-9cde-4fe4-b473-e4740b3c080c" xlink:to="loc_us-gaap_DomesticPlanMember_878ae841-6a60-4789-9d99-e308b3d10c5e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_6c761dd3-24e0-4638-801b-92b6436e7e24" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DomesticPlanMember_878ae841-6a60-4789-9d99-e308b3d10c5e" xlink:to="loc_country_US_6c761dd3-24e0-4638-801b-92b6436e7e24" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_9a510e2a-8034-4bf5-8196-13602a4dd78e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_b4e921d7-9cde-4fe4-b473-e4740b3c080c" xlink:to="loc_us-gaap_ForeignPlanMember_9a510e2a-8034-4bf5-8196-13602a4dd78e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_eb195574-7c7a-4eda-99b2-07a7d3572ad4" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_9a510e2a-8034-4bf5-8196-13602a4dd78e" xlink:to="loc_country_GB_eb195574-7c7a-4eda-99b2-07a7d3572ad4" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RetirementPlansScheduleofCostsofRetirementPlansDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails" xlink:type="extended" id="i0f383aa2b51441d29bd5a46f22e743fb_RetirementPlansScheduleofCostsofRetirementPlansDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_06bccddc-ca28-492a-9463-afebefd90658" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized_a8a2e035-a66b-44d8-8310-ab44af3c472b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_06bccddc-ca28-492a-9463-afebefd90658" xlink:to="loc_us-gaap_DefinedContributionPlanCostRecognized_a8a2e035-a66b-44d8-8310-ab44af3c472b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanTable_4de27dd8-d5f1-4972-81e6-5f2f16cacd09" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_06bccddc-ca28-492a-9463-afebefd90658" xlink:to="loc_us-gaap_DefinedContributionPlanTable_4de27dd8-d5f1-4972-81e6-5f2f16cacd09" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_9130a193-87c1-4e9a-8ad0-004627b8d989" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedContributionPlanTable_4de27dd8-d5f1-4972-81e6-5f2f16cacd09" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_9130a193-87c1-4e9a-8ad0-004627b8d989" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_9130a193-87c1-4e9a-8ad0-004627b8d989_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_9130a193-87c1-4e9a-8ad0-004627b8d989" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_9130a193-87c1-4e9a-8ad0-004627b8d989_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_903d05c1-c719-4793-a2e3-479e2ba9878a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_9130a193-87c1-4e9a-8ad0-004627b8d989" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_903d05c1-c719-4793-a2e3-479e2ba9878a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_5017bfc6-1ded-4d6e-9161-772f16c91e34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_903d05c1-c719-4793-a2e3-479e2ba9878a" xlink:to="loc_us-gaap_DomesticPlanMember_5017bfc6-1ded-4d6e-9161-772f16c91e34" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_41ec89b5-15c4-419f-8946-6c1a36472a5f" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DomesticPlanMember_5017bfc6-1ded-4d6e-9161-772f16c91e34" xlink:to="loc_country_US_41ec89b5-15c4-419f-8946-6c1a36472a5f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_c54353c6-ff8a-4e59-88c1-8ae47bd5e8b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_903d05c1-c719-4793-a2e3-479e2ba9878a" xlink:to="loc_us-gaap_ForeignPlanMember_c54353c6-ff8a-4e59-88c1-8ae47bd5e8b2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA_0c58cb72-2b59-4f4b-95ce-db69c3ef0170" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_c54353c6-ff8a-4e59-88c1-8ae47bd5e8b2" xlink:to="loc_country_CA_0c58cb72-2b59-4f4b-95ce-db69c3ef0170" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_ba6d363a-7c2d-4fd3-8ea9-db45444396cb" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ForeignPlanMember_c54353c6-ff8a-4e59-88c1-8ae47bd5e8b2" xlink:to="loc_country_GB_ba6d363a-7c2d-4fd3-8ea9-db45444396cb" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#CommitmentsandContingentLiabilitiesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" xlink:type="extended" id="ieee6a43f2b2641a9b15a445642a911b8_CommitmentsandContingentLiabilitiesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_0dd15c20-d302-485d-bec9-63bc80729bac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_0dd15c20-d302-485d-bec9-63bc80729bac" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_fb328a9d-d3d7-4735-9f93-23775ff0947f" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_fb328a9d-d3d7-4735-9f93-23775ff0947f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_4a7b0db5-a656-4a14-9c83-841cd3431756" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_4a7b0db5-a656-4a14-9c83-841cd3431756" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementInstallmentPaymentTerm_8b45eb85-aae2-4f28-830c-2dca9feda025" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementInstallmentPaymentTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_LitigationSettlementInstallmentPaymentTerm_8b45eb85-aae2-4f28-830c-2dca9feda025" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount_15e025d9-0144-403a-a81f-fbbccc908b36" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentAmount_15e025d9-0144-403a-a81f-fbbccc908b36" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount_3304484f-373c-4971-a65f-7fb7f4991b75" xlink:href="fstr-20230331.xsd#fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount_3304484f-373c-4971-a65f-7fb7f4991b75" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_e16cfe1e-af95-4f95-86b0-de210596f7ba" xlink:href="fstr-20230331.xsd#fstr_NumberOfCompaniesReceivingGeneralNoticeLetter"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_e16cfe1e-af95-4f95-86b0-de210596f7ba" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PresentValueOfProposedRemedialWork_852299e5-d931-4ead-b4e6-12ee434eeb50" xlink:href="fstr-20230331.xsd#fstr_PresentValueOfProposedRemedialWork"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_PresentValueOfProposedRemedialWork_852299e5-d931-4ead-b4e6-12ee434eeb50" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UndiscoveredRemedialWork_cadf4dba-b12c-4197-8646-20ffb5a87720" xlink:href="fstr-20230331.xsd#fstr_UndiscoveredRemedialWork"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_UndiscoveredRemedialWork_cadf4dba-b12c-4197-8646-20ffb5a87720" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod_0a0bafa1-54b3-4fd8-baa5-7c65acdb2cb4" xlink:href="fstr-20230331.xsd#fstr_RemedialWorkAnticipatedCleanUpPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod_0a0bafa1-54b3-4fd8-baa5-7c65acdb2cb4" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_85187f75-3849-4d2c-af9a-d085807648dc" xlink:href="fstr-20230331.xsd#fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_85187f75-3849-4d2c-af9a-d085807648dc" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork_034a4b54-1f65-4a61-9684-209f15830f4b" xlink:href="fstr-20230331.xsd#fstr_NumberOfPartiesRequiredToPerformRemedialWork"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork_034a4b54-1f65-4a61-9684-209f15830f4b" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_ed91dba6-c417-4b15-b2fa-6fed276ad505" xlink:href="fstr-20230331.xsd#fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_ed91dba6-c417-4b15-b2fa-6fed276ad505" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccrualForEnvironmentalLossContingencies_a25ae80e-fd03-4f13-86f4-14176c400422" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccrualForEnvironmentalLossContingencies"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_us-gaap_AccrualForEnvironmentalLossContingencies_a25ae80e-fd03-4f13-86f4-14176c400422" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis_f3e83524-b8fa-4a48-a726-b4c70d38a350" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:to="loc_dei_LegalEntityAxis_f3e83524-b8fa-4a48-a726-b4c70d38a350" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_f3e83524-b8fa-4a48-a726-b4c70d38a350_default" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_f3e83524-b8fa-4a48-a726-b4c70d38a350" xlink:to="loc_dei_EntityDomain_f3e83524-b8fa-4a48-a726-b4c70d38a350_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_f32c2a8f-dc23-4b43-939e-51d0141ebda6" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_f3e83524-b8fa-4a48-a726-b4c70d38a350" xlink:to="loc_dei_EntityDomain_f32c2a8f-dc23-4b43-939e-51d0141ebda6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UprrMember_2c71d000-3b9c-4355-b443-d3ae0f840355" xlink:href="fstr-20230331.xsd#fstr_UprrMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityDomain_f32c2a8f-dc23-4b43-939e-51d0141ebda6" xlink:to="loc_fstr_UprrMember_2c71d000-3b9c-4355-b443-d3ae0f840355" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_a9f39a6c-3266-42cb-bafe-69f56a04a56c" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:to="loc_srt_MajorCustomersAxis_a9f39a6c-3266-42cb-bafe-69f56a04a56c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_a9f39a6c-3266-42cb-bafe-69f56a04a56c_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_a9f39a6c-3266-42cb-bafe-69f56a04a56c" xlink:to="loc_srt_NameOfMajorCustomerDomain_a9f39a6c-3266-42cb-bafe-69f56a04a56c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_50d4d33d-4d43-4f54-8fd0-8c9e0a5b21c8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_a9f39a6c-3266-42cb-bafe-69f56a04a56c" xlink:to="loc_srt_NameOfMajorCustomerDomain_50d4d33d-4d43-4f54-8fd0-8c9e0a5b21c8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UPRRMember_02726f8e-3025-4e8b-9de9-8d3baec494c8" xlink:href="fstr-20230331.xsd#fstr_UPRRMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_50d4d33d-4d43-4f54-8fd0-8c9e0a5b21c8" xlink:to="loc_fstr_UPRRMember_02726f8e-3025-4e8b-9de9-8d3baec494c8" xlink:type="arc" order="0"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>fstr-20230331_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:e6b60733-307a-4608-a609-e78ae7aaa679,g:27e4db7c-fd2f-4e9e-b8f9-b24e60302288-->
<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_IncreaseDecreaseInStockholdersEquityRollForward_37e13ecd-c3a4-4ec8-9d52-1007bcb90d4b_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ProfitLoss_bcfacfd2-f118-405e-ac6b-58569f09999d_verboseLabel_en-US" xlink:label="lab_us-gaap_ProfitLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_ProvisionForDoubtfulAccounts_a3ca721f-c9ef-44fc-8b61-83f1704ff9f0_verboseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reserve for uncollectible accounts, expense</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_0d15c603-9f80-4c01-913e-6b69e41c6667_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncreaseDecreaseInOtherNoncurrentLiabilities_8b389b0a-f311-46b5-bf96-6517be730403_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_DeferredIncomeTaxAssetsNet_945a56e6-762a-42d8-8578-cb2014bde196_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_EntityAddressPostalZipCode_e678be6a-5de4-42be-b9f4-f9372b311db5_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_940df57c-c013-4709-867c-ac5f8f785ff6_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_FinanceLeaseLiability_22501320-a4e6-4685-9c53-0c9f3f7c3924_verboseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_LineOfCreditFacilityMaximumBorrowingCapacity_f65f3d10-d32f-4413-937c-069abbac03b7_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_ContractWithCustomerLiabilityRollForward_a97e6a1e-4280-400f-9c02-073e23474939_terseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Liability [Roll Forward]</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityRollForward" xlink:href="fstr-20230331.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_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_LongTermDebtAndCapitalLeaseObligationsCurrent_bf804e00-98b0-4dd8-bcff-506a2deaf93d_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current maturities of long-term debt (Note 7)</link:label>
    <link:label id="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_b784fff9-a90c-47ee-9c39-001ef461b263_negatedLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_AdditionalPaidInCapital_cd8860ce-3ab7-4a36-854c-07eeefa35478_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_6f45586f-b6c1-4e72-a3fc-4e9aab995067_terseLabel_en-US" xlink:label="lab_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption_28c5f45f-da9b-482b-bc13-80bab57e88e5_terseLabel_en-US" xlink:label="lab_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit, accordion feature, lower borrowing capacity</link:label>
    <link:label id="lab_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption_label_en-US" xlink:label="lab_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit, Accordion Feature, Lower Borrowing Capacity Option</link:label>
    <link:label id="lab_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption_documentation_en-US" xlink:label="lab_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit, Accordion Feature, Lower Borrowing Capacity Option</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" xlink:href="fstr-20230331.xsd#fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" xlink:to="lab_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_3ab9158d-116d-40b0-a69c-49c708ab6947_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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_Depreciation_005da620-d8c1-4002-b6b5-512c93339849_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear_53124219-270c-4c94-8705-ce389756408b_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined benefit plan, expected future employer contributions, current fiscal year</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Expected Future Employer Contributions, Current Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_dc525112-1095-4516-9131-7adca4898137_totalLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net periodic pension (income) cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_41a1f20f-c34f-4fb0-9e55-1231787ab702_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of exchange rate changes on cash 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_36500c74-f70c-41a1-b73f-5880e60daa5a_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant, and equipment - net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment 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/2022/elts/us-gaap-2022.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_ContractWithCustomerAssetReclassifiedToReceivable_cb3e0f0d-d66f-4861-966e-5e130ca68d05_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract assets transferred to receivables</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_b4991f05-425c-439f-8405-f892b5ad03eb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset, Reclassified to Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_562a0fa5-0440-43b7-9c5d-ea275a5e3c7f_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_6df526dd-d830-4dbe-a2b0-962431366ceb_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_LitigationSettlementInstallmentPaymentTerm_60091de6-27b3-43f2-9469-a591bb595bd7_terseLabel_en-US" xlink:label="lab_fstr_LitigationSettlementInstallmentPaymentTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Litigation Settlement Installment Payment Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementInstallmentPaymentTerm" xlink:href="fstr-20230331.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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d2721471-c866-46d3-b187-27577ecaab9f_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Anti-dilutive shares (in shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_365d0da2-b1e2-4237-9715-cf051c327863_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Amortization of Prior Service Cost (Credit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:to="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_EquityComponentDomain_aa55e904-e8cb-47d4-9894-54c471a65297_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_b6685b7d-05a4-41c8-bf68-048fb266a5ff_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_DebtAndCapitalLeaseObligations_75067741-6ad3-43e1-8a78-6fa3ba094433_totalLabel_en-US" xlink:label="lab_us-gaap_DebtAndCapitalLeaseObligations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_TreasuryStockCommonValue_3ad1fb62-63d5-4cde-a513-a5c869566198_negatedLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock - at cost, 306,068 and 338,952 common stock shares at March&#160;31, 2023 and December&#160;31, 2022, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_ContractWithCustomerAssetNet_27a36982-fd23-45c2-bb87-4ce041f00893_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract assets - net (Note 3)</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_29351114-3fef-44d7-aa2f-fb0865964f95_verboseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract assets</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_973810e5-6d0d-41d5-8e8f-66f5d738420a_periodStartLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of December 31, 2022</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_700c29a3-c73c-491a-a013-0eb749337b8b_periodEndLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of March 31, 2023</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset, after Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember_d320d117-8ab4-480f-84c5-0822e5a66d81_terseLabel_en-US" xlink:label="lab_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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:label id="lab_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember_label_en-US" xlink:label="lab_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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 [Member]</link:label>
    <link:label id="lab_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember_documentation_en-US" xlink:label="lab_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember" xlink:href="fstr-20230331.xsd#fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember" xlink:to="lab_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_e5800efb-f4ba-49a8-8c11-14ce0106936b_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_DerivativeInstrumentRiskAxis_b1ba329f-fbb5-45b8-a8b7-59be1c5b56e7_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_GoodwillLineItems_7be8c208-d497-48ba-a0fd-480c3b365383_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:label id="lab_us-gaap_GoodwillLineItems_label_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCredit_b0a4782f-033e-4946-8e2f-855e815e2196_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving credit facility</link:label>
    <link:label id="lab_us-gaap_LineOfCredit_ab1023cc-8734-42cc-bcb7-731b5f4a2ded_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCredit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_EntityAddressStateOrProvince_6e4fcfcd-d9dd-4f1b-b999-e1b9008885e3_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_FairValueInputsLevel1Member_87bb2fd1-6f34-4cd3-ba01-5612da6685a7_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_6ae04cfe-12d1-469b-a456-806a5075d3d0_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_ContractWithCustomerLiabilityOtherAdjustments_49c6ff4c-010d-4098-a90a-7437e460b03d_negatedTerseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityOtherAdjustments" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other adjustments, including business divestiture</link:label>
    <link:label id="lab_fstr_ContractWithCustomerLiabilityOtherAdjustments_label_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Liability, Other Adjustments</link:label>
    <link:label id="lab_fstr_ContractWithCustomerLiabilityOtherAdjustments_documentation_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Liability, Other Adjustments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityOtherAdjustments" xlink:href="fstr-20230331.xsd#fstr_ContractWithCustomerLiabilityOtherAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ContractWithCustomerLiabilityOtherAdjustments" xlink:to="lab_fstr_ContractWithCustomerLiabilityOtherAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_73e32187-4374-4b72-83e8-bf967605b1cc_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts and Other Receivables</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_AwardTypeAxis_0d71a7c9-c1d3-43fc-8099-9cfcbf3d92d9_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_458abd69-4e6c-4a1b-8b6a-b8c78fd571f5_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_64cd34cf-048b-428a-8ad3-07567c33195c_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeAssets_c5de1d8a-f1ef-43dc-9576-3b676c330b4f_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_ProceedsFromDivestitureOfBusinesses_4d5e8c46-d9b3-42e1-8f93-8654d0dab4a3_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfBusinesses" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from business dispositions</link:label>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfBusinesses_label_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfBusinesses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Divestiture of Businesses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinesses" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromDivestitureOfBusinesses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromDivestitureOfBusinesses" xlink:to="lab_us-gaap_ProceedsFromDivestitureOfBusinesses" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_OtherPrecastConcreteProductsMember_2d6d86f6-398e-422e-99de-3f56850ac7ce_terseLabel_en-US" xlink:label="lab_fstr_OtherPrecastConcreteProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Precast Concrete Products</link:label>
    <link:label id="lab_fstr_OtherPrecastConcreteProductsMember_label_en-US" xlink:label="lab_fstr_OtherPrecastConcreteProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Precast Concrete Products [Member]</link:label>
    <link:label id="lab_fstr_OtherPrecastConcreteProductsMember_documentation_en-US" xlink:label="lab_fstr_OtherPrecastConcreteProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Precast Concrete Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherPrecastConcreteProductsMember" xlink:href="fstr-20230331.xsd#fstr_OtherPrecastConcreteProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_OtherPrecastConcreteProductsMember" xlink:to="lab_fstr_OtherPrecastConcreteProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityAxis_e13e81b7-64c1-4ccc-93ba-ffee297e26c6_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_LegalEntityAxis_ee406c4d-caf8-4a90-b158-977ed19d7d96_terseLabel_en-US" xlink:label="lab_dei_LegalEntityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:label id="lab_dei_LegalEntityAxis_label_en-US" xlink:label="lab_dei_LegalEntityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LegalEntityAxis" xlink:to="lab_dei_LegalEntityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_a80f195b-6585-40ab-bca9-9436c8beb94d_terseLabel_en-US" xlink:label="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_190b5c56-3c8b-4224-80ba-a941d3a7a9f2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_NetCashProvidedByUsedInInvestingActivitiesAbstract_206a8cf5-5826-4be2-a925-c5e1011361c6_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CASH FLOWS FROM INVESTING ACTIVITIES:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_4852981b-c8e4-4971-970e-f1d8fa4ab489_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_StockIssuedDuringPeriodValueNewIssues_902ef548-da27-4796-9f08-e454a3027086_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_TechnologyBasedIntangibleAssetsMember_47475d64-3291-4e51-9c12-1b80fee7d66e_terseLabel_en-US" xlink:label="lab_us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_169b9f64-bc61-4a82-86ad-c3ee967198a7_terseLabel_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_dei_EntityCommonStockSharesOutstanding_a8622bc0-028b-4e32-8d33-a42885fccd5c_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_FairValueMeasurementsFairValueHierarchyDomain_64019afd-18d5-428b-afaf-1a98a698ef08_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Measurements, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_RevolvingCreditFacilityMember_5785a820-495b-4c21-8efb-7c3cb31c10af_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving credit facility</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_RemedialWorkAnticipatedCleanUpPeriod_848868ac-8756-430d-9cb9-04759c7494d3_terseLabel_en-US" xlink:label="lab_fstr_RemedialWorkAnticipatedCleanUpPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_DocumentType_9bcc9a40-c528-4c75-a9e9-9ec4eea14234_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_TransferredAtPointInTimeMember_30322d9a-f228-4438-b937-d217654bf0ea_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Point in time</link:label>
    <link:label id="lab_us-gaap_TransferredAtPointInTimeMember_label_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transferred at Point in Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransferredAtPointInTimeMember" xlink:to="lab_us-gaap_TransferredAtPointInTimeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_1e248ca3-ec79-4a84-b422-b2cbdfd8f368_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock, Deferred Stock Units 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_356dc8a7-88d1-46b9-9af1-4a68ff35538b_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility increase over previous commitment</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Increase (Decrease), Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:to="lab_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_059bd7ea-9186-42da-a812-0002c0fa97e5_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_f473a99d-ae89-40d6-bf0b-9443d171479c_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, Beginning balance (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_19fe0aa9-5d6e-4276-bad6-6f931e3cbfe4_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, Ending balance (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_StatementBusinessSegmentsAxis_a05411fd-7fe5-448f-9eb0-680dc1e39695_terseLabel_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_DebtDisclosureTextBlock_e2122cac-8c19-472f-a17c-7026cce44470_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_srt_ProductsAndServicesDomain_cf6e1848-9788-4ec2-b22f-8f4c25ba86ad_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/srt-2022.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_dei_EntityShellCompany_db6d7dd8-b842-4499-b784-965600a4afe2_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_DeferredIncomeTaxExpenseBenefit_8ff02abe-7a13-417a-bb56-48d4dd52613b_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_UPRRMember_0579ed03-4e4c-456e-bc6d-1ee7b04327a0_terseLabel_en-US" xlink:label="lab_fstr_UPRRMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The UPRR</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UPRRMember" xlink:href="fstr-20230331.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_srt_ConsolidationItemsDomain_6788cff9-60ee-47f0-a7ee-87c5e3a68015_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:label id="lab_srt_ConsolidationItemsDomain_label_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsDomain" xlink:to="lab_srt_ConsolidationItemsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_324ad0e1-5e2b-453a-8ece-faff7894285b_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_dei_DocumentPeriodEndDate_f85cfe1c-9bc5-44d6-ad22-0b429bfb0804_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_6a0ccc9a-e1dd-4d1c-b280-52c4600668b9_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting period one</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Tranche One [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_OverTimeInputMethodMember_9064d96c-e6de-4094-9a24-d1ba994ba3e9_terseLabel_en-US" xlink:label="lab_fstr_OverTimeInputMethodMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over time 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over Time Input Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeInputMethodMember" xlink:href="fstr-20230331.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_ScheduleOfCostsOfRetirementPlansTableTextBlock_44db38ec-9535-404a-954f-84845a0da5df_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Costs of Retirement Plans [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_Assets_faacd8fa-c07b-4095-b69c-a49e89b38175_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TOTAL ASSETS</link:label>
    <link:label id="lab_us-gaap_Assets_917f5e94-ac61-4ea4-95de-96bef3a15be5_terseLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_c535c5a1-cc6a-4441-9311-e92e145df0bb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncomeStatementLocationAxis_8e7fdd8b-3fac-4c79-a437-03c6a5fa54eb_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_DefinedBenefitPlanContributionsByEmployer_636f915d-d340-451b-9ae2-4f1c587ea22d_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined benefit plan, contributions by employer</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Plan Assets, Contributions by Employer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:to="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_5e043f91-c226-44fa-a864-ba93cd50c3d4_terseLabel_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance-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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PerformanceSharesMember" xlink:to="lab_us-gaap_PerformanceSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_2bbe3329-9490-499c-879e-207ab64bcc41_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_DebtInstrumentNumberOfFinancialCovenants_f3b5b6e7-a481-4276-bef0-40b62c8dbe55_terseLabel_en-US" xlink:label="lab_fstr_DebtInstrumentNumberOfFinancialCovenants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_NetCashProvidedByUsedInFinancingActivities_e3188588-26c8-4504-98b3-473f8e5a7f08_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_EmployeeRelatedLiabilitiesCurrent_147c26f7-afb1-4228-9691-86992e36fba2_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_GainLossOnSaleOfBusiness_eec15a6f-9634-4a46-a974-e4c3edce9962_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on asset divestitures</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfBusiness_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Disposition of Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfBusiness" xlink:to="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_def6de2b-ecf1-49c8-bb96-2d8c5367deb1_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss before income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c5b20a96-18fc-4b99-973c-5871cba7f820_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_805014b9-8ad6-45c8-a491-52fbf13c32fa_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' 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/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentDomain_35bf8b1f-3c55-4c22-b422-5d22d07ee77f_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentDomain_label_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ScheduleOfGoodwillTable_e2f1ff38-3221-4cb6-80ec-ba11e3e879b1_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_EarningsPerShareTextBlock_d720876e-f706-4c06-bbc5-7a1180080606_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_srt_MajorCustomersAxis_d56c5083-4aa4-49b2-8c62-44f7da54e4a6_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanInterestCost_084eea65-9491-406d-bb58-e6e6670574db_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanInterestCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Interest Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock_2a6a49e5-f584-4f75-bed9-830fde3dd3b6_terseLabel_en-US" xlink:label="lab_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Future Payments Of Legal Settlements</link:label>
    <link:label id="lab_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock_label_en-US" xlink:label="lab_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Future Payments Of Legal Settlements [Table Text Block]</link:label>
    <link:label id="lab_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock_documentation_en-US" xlink:label="lab_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Future Payments Of Legal Settlements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" xlink:href="fstr-20230331.xsd#fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" xlink:to="lab_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c59971d3-8588-4e88-ab9b-a4531500f436_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_c6d15415-db64-43e3-ac42-90fb18469d2b_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:to="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork_f2fbea87-1eb4-470b-a9b3-32e741285ce1_terseLabel_en-US" xlink:label="lab_fstr_NumberOfPartiesRequiredToPerformRemedialWork" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue_894a09bc-2abb-4daf-95bc-e7f075ea5927_terseLabel_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment for incentive awards expected to vest (usd per share)</link:label>
    <link:label id="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue_documentation_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" xlink:to="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_3a57e0c3-fe4f-4721-8597-6d1e6bd93104_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_845f1f49-4f1a-44fd-80cc-dee2e369eedb_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_DerivativeContractTypeDomain_01589938-8000-4472-944f-d1424ab2fd44_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeContractTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_GrossProfit_49ff04a7-b564-4d39-b8fe-f7185ec31635_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_RevenueFromContractWithCustomerIncludingAssessedTax_68e8e876-2adc-43e1-b30c-db5cb48e9a2a_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total net sales</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_2199a1f6-39af-491c-94d3-73076409046d_netLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_EntityRegistrantName_a0bb769c-07fe-4aa8-8989-4c83b764bd98_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_StockIssuedDuringPeriodSharesNewIssues_7f11071a-3cac-49c1-8508-00f9bc31f7a5_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_NumberOfDefinedContributionPlans_8da3613b-4b45-4a8d-a5c1-4b9e0d30ff61_verboseLabel_en-US" xlink:label="lab_fstr_NumberOfDefinedContributionPlans" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined contribution plan number</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Defined Contribution Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfDefinedContributionPlans" xlink:href="fstr-20230331.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_GoodwillForeignCurrencyTranslationGainLoss_ca8346da-fd42-407e-bc3b-8ebfef47e51e_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_DebtInstrumentCovenantLeverageRatioMaximum_01d45fe4-4703-4fdd-8f53-ef93d2289376_terseLabel_en-US" xlink:label="lab_fstr_DebtInstrumentCovenantLeverageRatioMaximum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_PatentsMember_b341747c-8f5a-431a-8e1c-5c95ff2fba06_terseLabel_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_CustomerRelationshipsMember_95f094be-176f-4152-b0f5-1b3287dea74d_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_dei_EntityAddressCityOrTown_58e6e4c0-6c1d-485c-a30c-1abbca028316_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_34b8f7b6-e961-4a62-bc6c-77a888ff4466_terseLabel_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_1a4a1299-639f-464e-8f43-1869858fb6df_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_f70c99f1-3299-4bad-8a0e-9f64d2800b85_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_7e797a5b-9aee-4277-9991-2d5fc9fc8746_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' 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/2022/elts/us-gaap-2022.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_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_16dae8f7-e17e-4ffd-a034-6ebf3e9411d1_terseLabel_en-US" xlink:label="lab_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_srt_MinimumMember_682b0d9f-30ec-4eb2-ad88-03dc27d52101_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MinorityInterest_5eab65ea-facf-423d-9f91-478ff9ceb43d_terseLabel_en-US" xlink:label="lab_us-gaap_MinorityInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' 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/2022/elts/us-gaap-2022.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_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_dei_EntityEmergingGrowthCompany_4e42fc27-9b19-42d5-a85b-7644f274a6bb_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_4ca8aff2-b726-4753-b7b6-3a53a7691b30_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_InventoryRawMaterialsNetOfReserves_d1f9f788-c23f-4d68-a394-92f81efbbb77_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_2dec988b-ff00-41d3-8715-9f9f5dd8efac_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized (loss) gain on cash flow hedges, net of tax benefit of $0 and $188, respectively</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_45290ca3-d8ee-4f48-bdb9-7429bea3c12e_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized derivative gain (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_NumberOfRetirementPlans_c2fd6b31-fc55-47a2-b026-c438bed853a6_verboseLabel_en-US" xlink:label="lab_fstr_NumberOfRetirementPlans" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of retirement plans</link:label>
    <link:label id="lab_fstr_NumberOfRetirementPlans_label_en-US" xlink:label="lab_fstr_NumberOfRetirementPlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">NumberOfRetirementPlans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfRetirementPlans" xlink:href="fstr-20230331.xsd#fstr_NumberOfRetirementPlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_NumberOfRetirementPlans" xlink:to="lab_fstr_NumberOfRetirementPlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_3a853fc1-02e7-4fa3-a78c-7e3bd27eeba0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_TreasuryStockCommonMember_14d31232-e618-4d18-8de7-9b3699e1b47c_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock</link:label>
    <link:label id="lab_us-gaap_TreasuryStockCommonMember_label_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Common [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_PensionPlansDefinedBenefitMember_b9963dec-edcf-4e00-b150-9d4ecfc25a26_terseLabel_en-US" xlink:label="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension Plan</link:label>
    <link:label id="lab_us-gaap_PensionPlansDefinedBenefitMember_label_en-US" xlink:label="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionPlansDefinedBenefitMember" xlink:to="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_319018f1-1cb6-4c6a-9c37-65ea16696492_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_OverTimeSalesAmount_ee5baf1d-fcbe-4e3b-a169-4bd999f10ac9_terseLabel_en-US" xlink:label="lab_fstr_OverTimeSalesAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over time 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over Time Sales, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesAmount" xlink:href="fstr-20230331.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_dei_TradingSymbol_4d5e77ab-ed39-4869-9b84-1fe6a98d4dae_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_dei_EntityFileNumber_31211c6f-48b0-460e-856d-b3ba66ce4a4d_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_TreasuryStockCommonShares_f439d3be-f10c-41b1-b942-1c97efa76613_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock shares - 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Common, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_CorporateExpenseAndOtherUnallocatedCharges_df85d786-5986-458c-8727-c32d3e52ba45_negatedLabel_en-US" xlink:label="lab_fstr_CorporateExpenseAndOtherUnallocatedCharges" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unallocated corporate expenses and other unallocated charges</link:label>
    <link:label id="lab_fstr_CorporateExpenseAndOtherUnallocatedCharges_label_en-US" xlink:label="lab_fstr_CorporateExpenseAndOtherUnallocatedCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Expense And Other Unallocated Charges</link:label>
    <link:label id="lab_fstr_CorporateExpenseAndOtherUnallocatedCharges_documentation_en-US" xlink:label="lab_fstr_CorporateExpenseAndOtherUnallocatedCharges" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Expense And Other Unallocated Charges</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateExpenseAndOtherUnallocatedCharges" xlink:href="fstr-20230331.xsd#fstr_CorporateExpenseAndOtherUnallocatedCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_CorporateExpenseAndOtherUnallocatedCharges" xlink:to="lab_fstr_CorporateExpenseAndOtherUnallocatedCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_country_CA_b82f1b94-794a-4469-af4a-4e8d6c12c9aa_terseLabel_en-US" xlink:label="lab_country_CA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CANADA</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_8833f8a7-c286-4325-bbe7-0c055edbb70f_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_srt_TitleOfIndividualAxis_88fcf09e-f94b-4e3b-83c9-83a522d29e00_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:label id="lab_srt_TitleOfIndividualAxis_label_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_6b91e262-8453-4a86-ad88-1f477f378b2e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f7daa9f8-5c15-4fbd-a577-fc296ce4da23_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective income tax rate (percent)</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanTable_351be8fa-0d39-407d-a008-5629c99fd25d_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_CashAndCashEquivalentsFairValueDisclosure_71b69c8a-05f1-475e-8898-74bd7171682c_netLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term deposits</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_7f5b1fd0-c0b7-4778-a91a-461d226afc8e_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss), 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncreaseDecreaseInAccountsPayable_a4de54ed-ee04-422a-a5a2-eb3282cc6a1d_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ProductLiabilityContingencyLineItems_a25e0ee6-757a-4c6d-bf14-189f0a620948_terseLabel_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_IncomeTaxDisclosureTextBlock_363b2892-993c-4618-90f3-e3c9abff4b85_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_InventoryFinishedGoodsNetOfReserves_256ef3f8-f0dc-4710-9b3c-a398619791fd_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_CreditFacilityDomain_fa8aa55d-ac2d-44a1-8653-b4c91cb1115e_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_DefinedContributionPlanDisclosureLineItems_ce462e97-f882-4773-8034-ef2a151a3c9f_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_AmortizationOfIntangibleAssets_8a7cd18a-0c53-4466-8c6f-67ea89fa64b9_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_UndiscoveredRemedialWork_f30a5aa5-0919-41a7-b464-10fb20202b5b_terseLabel_en-US" xlink:label="lab_fstr_UndiscoveredRemedialWork" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Undiscovered Remedial Work</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UndiscoveredRemedialWork" xlink:href="fstr-20230331.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_us-gaap_ScheduleOfGoodwillTextBlock_d87ba037-6022-45c0-9457-946dd9fdddcf_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidNet_a2259892-a9bc-4b5c-b068-e59c1de28d39_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_aa40d290-fe94-4764-9f90-d24c6eae09aa_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic loss per common share (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax_73d8b468-d35e-40ea-9ef0-74e67fa30364_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flow hedges reclassified to earnings, tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_b1e2293e-d538-4b4b-8adc-6720018e5a88_terseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_DefinedBenefitPlanDisclosureLineItems_5bf4077d-77e0-4ec9-b7e8-a3a4460ebd46_verboseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_CorporateNonSegmentMember_39660080-c8a4-4268-b8dd-d16282f4ba14_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unallocated corporate assets</link:label>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_label_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate, Non-Segment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateNonSegmentMember" xlink:to="lab_us-gaap_CorporateNonSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_27ec2bfa-bd06-4418-8c4f-1071d611450c_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' 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/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_DirectorMember_49e0e823-c913-40b5-8e2b-9fc9def47ff0_terseLabel_en-US" xlink:label="lab_srt_DirectorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/srt-2022.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_VestingDomain_87810572-f95f-475e-962d-7cb1f10bf587_terseLabel_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:label id="lab_us-gaap_VestingDomain_label_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingDomain" xlink:to="lab_us-gaap_VestingDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_ChemtecEnergyServicesLLCMember_5e8181c8-77d6-494f-95eb-3b2d3c2f3e45_terseLabel_en-US" xlink:label="lab_fstr_ChemtecEnergyServicesLLCMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Chemtec Energy Services LLC</link:label>
    <link:label id="lab_fstr_ChemtecEnergyServicesLLCMember_label_en-US" xlink:label="lab_fstr_ChemtecEnergyServicesLLCMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Chemtec Energy Services LLC [Member]</link:label>
    <link:label id="lab_fstr_ChemtecEnergyServicesLLCMember_documentation_en-US" xlink:label="lab_fstr_ChemtecEnergyServicesLLCMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Chemtec Energy Services LLC</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ChemtecEnergyServicesLLCMember" xlink:href="fstr-20230331.xsd#fstr_ChemtecEnergyServicesLLCMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ChemtecEnergyServicesLLCMember" xlink:to="lab_fstr_ChemtecEnergyServicesLLCMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLineItems_0ab1c30b-c86b-459c-870e-57320b9a74ba_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_EntityInteractiveDataCurrent_53490e37-1d69-4663-8911-c877aec011a8_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_FairValueByBalanceSheetGroupingTable_73f137de-f474-4fae-91dd-2ec2956836af_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_FiniteLivedIntangibleAssetsAccumulatedAmortization_8b303d95-5592-49ab-ba8a-a4c27710bcc8_negatedLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_2d71835a-3eae-42d5-97fa-fd5a10221ba0_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAbstract_85a485f8-2f2a-455c-b008-a611badbc7ab_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator for basic and diluted loss 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_RetainedEarningsMember_979c1da0-9e10-4332-8265-f6d8ddd9f85d_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_SegmentReportingInformationLineItems_28f9704e-d578-460a-83ec-6150c5611a55_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_4db96bcd-96ad-4c02-81f4-2001693812dd_verboseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_DeferredStockUnitsMember_3c71bf16-46b9-4dff-b89b-97c0faa09639_terseLabel_en-US" xlink:label="lab_fstr_DeferredStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Stock Units</link:label>
    <link:label id="lab_fstr_DeferredStockUnitsMember_label_en-US" xlink:label="lab_fstr_DeferredStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Stock Units [Member]</link:label>
    <link:label id="lab_fstr_DeferredStockUnitsMember_documentation_en-US" xlink:label="lab_fstr_DeferredStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DeferredStockUnitsMember" xlink:href="fstr-20230331.xsd#fstr_DeferredStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_DeferredStockUnitsMember" xlink:to="lab_fstr_DeferredStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_ab3d3681-e4b5-45b1-99ad-04ab9339491e_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_PaymentsForRepurchaseOfCommonStock_2e69fe26-4fe7-4c1d-a0ab-767376a8ac8d_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_StatementTable_e78d6e23-461b-4576-850f-2226a95030e8_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_RepaymentsOfOtherLongTermDebt_cfe0f5e3-04bc-4610-9e01-f895045482a3_negatedLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfOtherLongTermDebt" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c06966db-e648-446f-a381-0de9d09fb584_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanSponsorLocationAxis_5db1e2e9-37d0-4f7b-a49b-ae761c78a137_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_DocumentQuarterlyReport_485add5c-a4ad-459d-9ecc-51ccfb9d599a_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/dei-2022.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_AssetsCurrentAbstract_b75bda80-dc96-4a10-b7c2-35c7e834b6e5_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_OperatingLeaseLiabilityNoncurrent_77742540-5312-4323-bdf8-d9c5fb40b95c_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_c7b1ea56-c785-4fb8-9c6a-33229d8f6aab_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_DefinedContributionPlanCostRecognized_6ccb9887-2956-49f9-b495-8339b4bb1cfe_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanCostRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_srt_RangeAxis_99542d6c-d4cb-433e-89e4-5bafdc19965b_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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_fstr_RailTechnologiesProductsMember_6ed5e7c7-96fa-46c4-b5b3-cfabe152b8b0_terseLabel_en-US" xlink:label="lab_fstr_RailTechnologiesProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rail Technologies Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesProductsMember" xlink:href="fstr-20230331.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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_edb7ea62-16b2-48bc-a497-42a3d44a9464_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, 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/2022/elts/us-gaap-2022.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_us-gaap_LineOfCreditFacilityLenderDomain_b30697a8-95b9-4666-84ca-065a85fa63c7_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_RetainedEarningsAccumulatedDeficit_f0c21751-b665-4a69-b452-a5632e180ffc_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ScheduleOfFiniteLivedIntangibleAssetsTable_c35b9a3c-8d18-469b-aaba-b92fcaa1786b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_PriorCreditFacilityMember_d334cb58-f875-4d65-b89b-b84306c1201b_terseLabel_en-US" xlink:label="lab_fstr_PriorCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prior Credit Facility</link:label>
    <link:label id="lab_fstr_PriorCreditFacilityMember_label_en-US" xlink:label="lab_fstr_PriorCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prior Credit Facility [Member]</link:label>
    <link:label id="lab_fstr_PriorCreditFacilityMember_documentation_en-US" xlink:label="lab_fstr_PriorCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prior Credit Facility</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PriorCreditFacilityMember" xlink:href="fstr-20230331.xsd#fstr_PriorCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PriorCreditFacilityMember" xlink:to="lab_fstr_PriorCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_41e25a9a-e87e-4a03-b8c0-eef9724fd781_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromMinorityShareholders_328e4606-138f-4461-8013-a661a9371774_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromMinorityShareholders" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment of noncontrolling interest</link:label>
    <link:label id="lab_us-gaap_ProceedsFromMinorityShareholders_label_en-US" xlink:label="lab_us-gaap_ProceedsFromMinorityShareholders" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Noncontrolling Interests</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMinorityShareholders" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromMinorityShareholders" xlink:to="lab_us-gaap_ProceedsFromMinorityShareholders" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_229add81-1994-45f0-9237-fe80b8972690_terseLabel_en-US" xlink:label="lab_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</link:label>
    <link:label id="lab_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_label_en-US" xlink:label="lab_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</link:label>
    <link:label id="lab_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_documentation_en-US" xlink:label="lab_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:href="fstr-20230331.xsd#fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:to="lab_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis_05ddf4a3-bf89-44f7-bb2f-a9c8b71739ec_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis_label_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_dei_DocumentFiscalYearFocus_f44928d7-28aa-4edf-80e2-a5a6b8e060ad_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_ForeignPlanMember_822b6d7c-ca20-4024-9490-8ee3cca0c3b1_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_country_GB_084830d6-e8e9-41c3-a136-892408e251f2_terseLabel_en-US" xlink:label="lab_country_GB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/country-2022.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_NetCashProvidedByUsedInOperatingActivitiesAbstract_1ea68cd0-3705-41cd-bb96-777d835dd7e6_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CASH FLOWS FROM OPERATING ACTIVITIES:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_StatementLineItems_0ad39347-bf6f-4276-8302-51ceaa8781c2_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ProceedsFromIssuanceOfOtherLongTermDebt_d4a93672-f2bb-4f8e-9e55-f490abee18e7_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ea870f06-97a7-4be2-9a1e-519bf3587578_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_62c717ad-ab98-48d0-80ac-af1c4eb21f75_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_9917cdd8-1647-4b20-9c88-c4ad891cd034_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_3767a45f-71b2-4c74-9e6b-d3ef7e72a70b_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_FiniteLivedIntangibleAssetsGross_41aeb600-edda-48bb-8c81-58b951d38dc8_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Carrying 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_SellingGeneralAndAdministrativeExpense_c47f074a-a00c-4510-b000-748a65d4bc0d_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ProductMember_26e5d6ab-f951-4ad1-bdb9-ab577f775fba_terseLabel_en-US" xlink:label="lab_us-gaap_ProductMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_OperatingLeaseRightOfUseAsset_cea5a11f-2e78-465b-8486-43be197fb046_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_0f49c60a-7a46-4fca-a6b0-36c6b64d2a3e_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_dei_DocumentTransitionReport_11ee6d79-3828-4a7e-a4e8-76cd895b85f4_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_84957015-ce12-4db8-8e68-a23c778e57c1_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_7a45da87-d8bd-43f2-83c2-7f17e6b9ad2b_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating profit (loss)</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_651448c6-3400-4e73-afd8-99f0679e9d14_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Operating Profit (Loss)</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_b98a86b6-9743-4e51-9f32-3e6fe5de7189_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating profit (loss) for reportable segments</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncreaseDecreaseInInventories_0abf0bdc-a5d7-4991-9c05-9917b28cfe31_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_FinancingReceivableAllowanceForCreditLossesLineItems_32cb8241-4621-4048-b634-20745001a9e3_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_399cce5e-c4b5-414d-b04a-9a0f91e91c7d_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_CommonStockSharesOutstanding_78735f8a-7e2a-4097-8522-025a6739bc75_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ServiceMember_73114d48-6e9f-4d7a-b04d-c068f143fb9c_terseLabel_en-US" xlink:label="lab_us-gaap_ServiceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_Goodwill_d06967f7-a6cc-4f46-b5fc-43187d5e95ed_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill (Note 4)</link:label>
    <link:label id="lab_us-gaap_Goodwill_7b836c23-b398-46d9-af87-94ffce70f3d3_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, beginning balance</link:label>
    <link:label id="lab_us-gaap_Goodwill_8cda1524-6fca-4858-867a-4daf4f86ec50_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_f0bffefe-e38a-41d7-a436-c240d394e5f4_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net loss to cash provided by (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_GoodwillAndIntangibleAssetsDisclosureTextBlock_15eb3380-04a1-41c1-82d4-4b8d50ac6038_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncomeTaxExpenseBenefit_eb5ea4c2-6114-4e18-93a1-625cdddb9f19_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ProductLiabilityContingencyTable_4b335e5f-0d3f-4c78-a61f-470400efea7f_terseLabel_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_DeferredIncomeTaxLiabilitiesNet_c77b49cb-d8d2-4ef1-99b0-9500228fb88a_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax liabilities (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne_16269d8e-dd3c-471e-9d76-def0f1124992_terseLabel_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne_label_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Litigation Settlement, Amount Awarded to Other Party, Scheduled Payment Year One</link:label>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne_documentation_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Litigation Settlement, Amount Awarded to Other Party, Scheduled Payment Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" xlink:to="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_FourthAmendedAndRestatedCreditAgreementMember_9ebb1160-e628-4982-84fd-f5b5054e2ec5_terseLabel_en-US" xlink:label="lab_fstr_FourthAmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fourth Amended And Restated Credit Agreement</link:label>
    <link:label id="lab_fstr_FourthAmendedAndRestatedCreditAgreementMember_label_en-US" xlink:label="lab_fstr_FourthAmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fourth Amended And Restated Credit Agreement [Member]</link:label>
    <link:label id="lab_fstr_FourthAmendedAndRestatedCreditAgreementMember_documentation_en-US" xlink:label="lab_fstr_FourthAmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fourth Amended And Restated Credit Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FourthAmendedAndRestatedCreditAgreementMember" xlink:href="fstr-20230331.xsd#fstr_FourthAmendedAndRestatedCreditAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_FourthAmendedAndRestatedCreditAgreementMember" xlink:to="lab_fstr_FourthAmendedAndRestatedCreditAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_e9b2a628-7b6e-44af-8e53-62b917c3c36c_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_f8e761e0-7816-4e9a-b811-fd7982833cbe_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_effc40ff-18ec-48f3-b9fc-63174c9ed071_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator for diluted loss 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock_9b4e2cee-7e60-42e1-aa4c-dfd56fa89502_terseLabel_en-US" xlink:label="lab_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenues 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9bcfa3aa-eda8-4f09-b344-ff50bb595d56_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_ede644ed-e446-4127-b641-3467440b9333_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:to="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_PrecastConcreteProductsMember_26caa6a0-76c7-41bc-99b4-58a7f1a8b6b0_terseLabel_en-US" xlink:label="lab_fstr_PrecastConcreteProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Precast Concrete Products</link:label>
    <link:label id="lab_fstr_PrecastConcreteProductsMember_label_en-US" xlink:label="lab_fstr_PrecastConcreteProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Precast Concrete Products [Member]</link:label>
    <link:label id="lab_fstr_PrecastConcreteProductsMember_documentation_en-US" xlink:label="lab_fstr_PrecastConcreteProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Precast Concrete Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PrecastConcreteProductsMember" xlink:to="lab_fstr_PrecastConcreteProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_8658c383-93c9-4988-8189-71a3c9312ca4_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for Doubtful Accounts</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_CommonStockValue_c34acc4c-72ee-4869-8086-93901a008411_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at March&#160;31, 2023 and December&#160;31, 2022, 11,115,779; shares outstanding at March&#160;31, 2023 and December&#160;31, 2022, 10,809,711 and 10,776,827, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_DebtInstrumentNameDomain_12675878-3e6a-487d-9528-1b502ed027c7_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount_ad38c487-edf5-4392-b3ad-9e8da268e181_terseLabel_en-US" xlink:label="lab_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual commitment amount</link:label>
    <link:label id="lab_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount_label_en-US" xlink:label="lab_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Purchase Commitment, Annual Commitment Amount</link:label>
    <link:label id="lab_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount_documentation_en-US" xlink:label="lab_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Purchase Commitment, Annual Commitment Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount" xlink:href="fstr-20230331.xsd#fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount" xlink:to="lab_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_04217f7a-d2a9-48ce-9ded-e982697525d8_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_57ecfb8d-6b28-42f6-86bd-20a6a80da0fc_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_OperatingSegmentsMember_5ade2212-4591-468c-90de-40758296e5f3_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments</link:label>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_label_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_6a8a2dbd-90be-406d-8b2b-c2ab3bed2b6f_terseLabel_en-US" xlink:label="lab_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_52a867c2-5b99-48e7-bfe7-cc359bb23318_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0f8f29e8-c036-4214-b8a0-982b1a771db5_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at end of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_e1cf5084-d2fe-44e2-ba76-49a5b6ff2a4d_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_NetIncomeLossAttributableToNoncontrollingInterest_8a93811c-b129-4e44-a2b7-42f81ab18e4e_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_CommitmentsAndContingenciesDisclosureTextBlock_3b782ecc-0de5-4f52-acfe-054b7dd969f1_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_8bfd38cf-e940-4d0f-88ac-bf3adb5adba6_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_9916afbe-e5b7-4244-a245-cdb14bebc033_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_CommonStockSharesIssued_04edf263-b1f4-444a-81d3-ad18d2389ea3_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_ContractWithCustomerLiabilityCurrent_fc0e3548-0e43-4360-be39-d7e6b1aa7317_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_PresentValueOfProposedRemedialWork_5759c2c3-e6af-4d25-979f-8abea0b52586_terseLabel_en-US" xlink:label="lab_fstr_PresentValueOfProposedRemedialWork" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Present value of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_us-gaap_RetirementPlanTypeDomain_b1fbb38f-610d-4011-a621-7f16f8c6974e_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanTypeDomain_label_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanTypeDomain" xlink:to="lab_us-gaap_RetirementPlanTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_f018d82a-a40e-4677-b231-876fcd960eed_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_73a34b6d-c472-4c47-9da0-81e86167fcc2_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over time</link:label>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_label_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transferred over Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_AmendmentFlag_64b1dbd2-945a-474e-859b-a7e2d17603f0_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_71bcfe06-6279-4fd6-a38c-2db63fdb7dba_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Amortization Period 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_NetCashProvidedByUsedInInvestingActivities_4a2f7a71-0e58-4115-9511-b5a7a25ebc47_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_OtherComprehensiveIncomeLossNetOfTax_b2e12605-f495-46f7-abb8-b9a42c1857f7_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total comprehensive loss</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_1f64da74-3dda-4563-8da3-46f396742aae_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive loss 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_RailTechnologiesAndServicesSegmentMember_ffa485aa-775c-406c-82bb-bc57cc933dc1_terseLabel_en-US" xlink:label="lab_fstr_RailTechnologiesAndServicesSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rail Technologies and Services Segment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember" xlink:href="fstr-20230331.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_fstr_ContractWithCustomerAssetAdditions_29b046d3-9ebd-46fd-a77c-df273686e696_terseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetAdditions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net additions to contract assets</link:label>
    <link:label id="lab_fstr_ContractWithCustomerAssetAdditions_label_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetAdditions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Asset Additions</link:label>
    <link:label id="lab_fstr_ContractWithCustomerAssetAdditions_documentation_en-US" xlink:label="lab_fstr_ContractWithCustomerAssetAdditions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Asset Additions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerAssetAdditions" xlink:href="fstr-20230331.xsd#fstr_ContractWithCustomerAssetAdditions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ContractWithCustomerAssetAdditions" xlink:to="lab_fstr_ContractWithCustomerAssetAdditions" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_631332f5-5230-4dfb-9c65-9f6a62c653e0_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_FabricatedSteelProductsMember_cd4bf635-6f6a-4dac-817b-c2f10130fcf2_terseLabel_en-US" xlink:label="lab_fstr_FabricatedSteelProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fabricated Steel Products</link:label>
    <link:label id="lab_fstr_FabricatedSteelProductsMember_label_en-US" xlink:label="lab_fstr_FabricatedSteelProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fabricated Steel Products [Member]</link:label>
    <link:label id="lab_fstr_FabricatedSteelProductsMember_documentation_en-US" xlink:label="lab_fstr_FabricatedSteelProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fabricated Steel Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FabricatedSteelProductsMember" xlink:href="fstr-20230331.xsd#fstr_FabricatedSteelProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_FabricatedSteelProductsMember" xlink:to="lab_fstr_FabricatedSteelProductsMember" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_OtherAssetsNoncurrent_ae9df9fc-5dd2-4a04-bbc9-fd5aa5f815c9_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_db625b24-6b19-4a1d-aa44-54c610eaf37a_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_DisaggregationOfRevenueTable_e6b0dac5-dd4d-46c3-9280-8bdbcc209415_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_SwapMember_09b1375f-4f48-4db1-9e3d-db1ea2c2f1f2_terseLabel_en-US" xlink:label="lab_us-gaap_SwapMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_EntityIncorporationStateCountryCode_4c2ef567-3fab-4aa8-bd59-ceb98dc0db33_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_065dfc63-413d-400a-b7ba-f072de090f45_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_IncreaseDecreaseInOtherNoncurrentAssets_f1e18214-c612-4fc0-b16e-b320d6aa4c47_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_DomesticPlanMember_9f787c4d-c8f4-4544-b5e9-97dd11c9d292_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_srt_TitleOfIndividualWithRelationshipToEntityDomain_2452ffb9-67e7-449c-9035-b3319d7c643b_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_label_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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_DebtInstrumentRedemptionPeriodDomain_4f689a26-3600-40d1-992b-ac9d289f8df8_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_OtherNonoperatingIncomeExpense_8e425c57-6783-42c4-9b19-3501756e7262_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other expense (income) - net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_0518ce0c-fc78-4c2a-8b49-f39267f3c44e_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other (expense) income - net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_CommonStockSharesAuthorized_4453d6fd-d4a9-4abd-9aca-058121515283_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_805fe514-eeb6-422c-9415-6419c73be77e_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_CashAndCashEquivalentsAtCarryingValue_e6ce278b-cddd-4cd4-8224-88ea299552fe_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncreaseDecreaseInContractWithCustomerLiability_dac0c168-0e1f-4bf3-9e71-2386107eacaf_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_AssetsCurrent_0629525d-0940-4c46-aed4-5f2c5af85b49_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_9eb1c2b7-0052-4c86-a780-b41e5d219a7d_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income taxes received</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax_b9491e36-2cf8-49e0-b3ee-341dfb4c79e9_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized gain (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_ContractWithCustomerLiabilityRevenueRecognized_bd4e370d-554b-4393-bdc4-cb1e77d53492_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue recognized from contract liability</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_b262dd2f-4782-4a92-a4c6-3185e3d4c2af_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_EntitySmallBusiness_0f72e364-607a-4bee-9e63-0d94b4d0f370_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_ScheduleOfNetBenefitCostsTableTextBlock_8899823c-b64c-4397-9191-2e7d0712119d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Net Benefit Costs</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Net Benefit Costs [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_FiniteLivedIntangibleAssetsNet_4cbe34ea-e971-4526-8735-96d3767e4aa3_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other intangibles - net (Note 4)</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_1f958758-49ab-4d1d-907d-7a239a022298_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_3cc8dd5b-ce23-4c00-9436-3ad0b1a0544b_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Reconciliation of Assets from Segment to Consolidated</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Assets from Segment to Consolidated [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:to="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_417313c3-bf7a-4c4e-a999-a89e816008a2_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_aa4fb812-5297-4eef-959c-75f329e6d250_netLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_2c8fefc6-a70d-42e9-97b2-6da9cbbbccd9_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_32f03129-8021-4067-b26c-9d0d0219543b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityTable_70ae18f5-7911-4b9d-b3d7-373dc64de952_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_dd4b1677-7e4c-45e7-a08b-133dc0bb9277_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19951336-98da-448e-a28c-85b07a1c970e_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_2922553f-2c60-4a4a-bda2-3dfe1d987d26_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_ab7c9195-ca8a-4093-9b35-d55c62208afc_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_93dfaae1-5f97-4edd-9056-9b9b96c8c090_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Statements</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_RetirementPlanSponsorLocationDomain_829b63de-bd99-4185-864c-d52ed7f51a55_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_SegmentReportingDisclosureTextBlock_f115bfe9-1eba-4d52-9833-2604ecce03c9_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_SellingGeneralAndAdministrativeExpensesMember_7f0dac73-9f24-4ee8-b3fc-3e734801fc03_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncreaseDecreaseInOtherAccruedLiabilities_f49a4297-f3ed-4cf7-a2c9-1e44b35cc5e5_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_8daaa5b2-32f6-42e3-937e-38592614bada_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_ebecbb99-8f5d-49db-bbd9-9ced7051e820_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_AccruedLegalSettlementCurrent_c2e61968-08b5-4732-a4b0-f36a1ea8a732_terseLabel_en-US" xlink:label="lab_fstr_AccruedLegalSettlementCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current portion of accrued settlement (Note 13)</link:label>
    <link:label id="lab_fstr_AccruedLegalSettlementCurrent_label_en-US" xlink:label="lab_fstr_AccruedLegalSettlementCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Legal Settlement Current</link:label>
    <link:label id="lab_fstr_AccruedLegalSettlementCurrent_documentation_en-US" xlink:label="lab_fstr_AccruedLegalSettlementCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Legal Settlement Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AccruedLegalSettlementCurrent" xlink:href="fstr-20230331.xsd#fstr_AccruedLegalSettlementCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_AccruedLegalSettlementCurrent" xlink:to="lab_fstr_AccruedLegalSettlementCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_a68084db-6f5f-4663-9306-3ce410352d1c_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_69134bf3-7fd1-44bc-a1a9-94c8a9345aad_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, 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/2022/elts/us-gaap-2022.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_us-gaap_LitigationSettlementAmountAwardedToOtherParty_75f39491-adae-48ec-8daf-c44b438b35ba_terseLabel_en-US" xlink:label="lab_us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Litigation settlement amount</link:label>
    <link:label id="lab_us-gaap_LitigationSettlementAmountAwardedToOtherParty_98d3e251-2695-4318-8de3-eafa86fce7d8_totalLabel_en-US" xlink:label="lab_us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear_de7151b3-9df8-4c76-b0c7-c7c841fc8b81_terseLabel_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remainder of 2023</link:label>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear_label_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Litigation Settlement Amount Awarded To Other Party Scheduled Payment Remainder Of Year</link:label>
    <link:label id="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear_documentation_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Litigation Settlement Amount Awarded To Other Party Scheduled Payment Remainder Of Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" xlink:to="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_SteelProductsAndMeasurementMember_56323aed-392c-4127-ba65-aa46043fb763_terseLabel_en-US" xlink:label="lab_fstr_SteelProductsAndMeasurementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Steel Products and Measurement</link:label>
    <link:label id="lab_fstr_SteelProductsAndMeasurementMember_label_en-US" xlink:label="lab_fstr_SteelProductsAndMeasurementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Steel Products And Measurement [Member]</link:label>
    <link:label id="lab_fstr_SteelProductsAndMeasurementMember_documentation_en-US" xlink:label="lab_fstr_SteelProductsAndMeasurementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Steel Products And Measurement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_SteelProductsAndMeasurementMember" xlink:to="lab_fstr_SteelProductsAndMeasurementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_07c9cb48-2f56-43a0-abb6-92cc7120237b_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories - net (Note 6)</link:label>
    <link:label id="lab_us-gaap_InventoryNet_be3cf9ab-ce44-4b40-b12c-054c71d98307_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_OverTimeSalesPercent_98945f6d-4d8b-44bb-be76-9a45f20712ba_terseLabel_en-US" xlink:label="lab_fstr_OverTimeSalesPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over time 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over Time Sales, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesPercent" xlink:href="fstr-20230331.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_AccountsPayableCurrent_c6429459-f9ab-48ff-a10b-af265a961c62_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_AccrualForEnvironmentalLossContingencies_2a0b2772-9c28-424c-968e-d3c9f9a541eb_terseLabel_en-US" xlink:label="lab_us-gaap_AccrualForEnvironmentalLossContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_EntityFilerCategory_779a73aa-5244-4533-9f0e-3573e188137f_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_6bc77bf4-072d-4594-a137-1f8ab591878c_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator for basic loss 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_RailProductsAndFrictionManagementMember_b87b0b69-845a-44a8-b89d-3e7f0f36730f_terseLabel_en-US" xlink:label="lab_fstr_RailProductsAndFrictionManagementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rail Products and Global Friction Management</link:label>
    <link:label id="lab_fstr_RailProductsAndFrictionManagementMember_label_en-US" xlink:label="lab_fstr_RailProductsAndFrictionManagementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rail Products And Friction Management [Member]</link:label>
    <link:label id="lab_fstr_RailProductsAndFrictionManagementMember_documentation_en-US" xlink:label="lab_fstr_RailProductsAndFrictionManagementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rail Products And Friction Management</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailProductsAndFrictionManagementMember" xlink:href="fstr-20230331.xsd#fstr_RailProductsAndFrictionManagementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_RailProductsAndFrictionManagementMember" xlink:to="lab_fstr_RailProductsAndFrictionManagementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_country_US_2e6afad1-c8e8-42ea-adad-fde1e6f3131e_terseLabel_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/country-2022.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_fstr_AccruedLegalSettlementNonCurrent_09e0955c-5a58-4ffe-8f4a-3483de63689d_terseLabel_en-US" xlink:label="lab_fstr_AccruedLegalSettlementNonCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term portion of accrued settlement (Note 13)</link:label>
    <link:label id="lab_fstr_AccruedLegalSettlementNonCurrent_label_en-US" xlink:label="lab_fstr_AccruedLegalSettlementNonCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Legal Settlement Non Current</link:label>
    <link:label id="lab_fstr_AccruedLegalSettlementNonCurrent_documentation_en-US" xlink:label="lab_fstr_AccruedLegalSettlementNonCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Legal Settlement Non Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AccruedLegalSettlementNonCurrent" xlink:href="fstr-20230331.xsd#fstr_AccruedLegalSettlementNonCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_AccruedLegalSettlementNonCurrent" xlink:to="lab_fstr_AccruedLegalSettlementNonCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_f68bee72-3ee2-4f46-a043-717896e93d25_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_a3b0d032-c994-43ab-800d-a578d1bc5f45_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_1d19c2b0-ab41-406d-98e4-ce24c00786ec_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Reconciliation of Revenue from Segments to Consolidated</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Revenue from Segments to Consolidated [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:to="lab_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_a40371bf-dfdd-4c40-9d90-087eb889d020_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flow hedges reclassified to earnings, net of tax expense of $0 and $66, respectively</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_854a5c70-4376-4060-94b3-09624d1d8100_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flow hedges reclassified to earnings</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_c162bc54-7614-4588-95ff-421c7bfd7ca8_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAbstract_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_bbe58370-bbb3-4481-95f1-d9ab2e4fdf48_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_47045295-7f97-4809-9268-971bce021a82_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_16ca185c-a05b-4282-a987-a4b4185d9c60_periodStartLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for doubtful accounts, beginning balance</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_9842335c-92a6-4c99-8fe7-c8d66f077c2f_periodEndLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_a012bd30-e865-400a-8ea8-fb28b20662dc_terseLabel_en-US" xlink:label="lab_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</link:label>
    <link:label id="lab_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_label_en-US" xlink:label="lab_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</link:label>
    <link:label id="lab_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_documentation_en-US" xlink:label="lab_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:href="fstr-20230331.xsd#fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:to="lab_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_a353baac-f1f2-4d97-bdaf-20d7f9251928_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Work-in-process</link:label>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_RevenueFromContractWithCustomerTextBlock_16791c16-f4fb-46f2-aa8a-e94bad8c19da_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncreaseDecreaseInContractWithCustomerAsset_1f6701a9-c98d-4697-a9ec-71e9d61ef1a7_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments_3e91e3c2-04fc-4196-9621-50c1bd43016a_terseLabel_en-US" xlink:label="lab_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility, maximum increase in commitments</link:label>
    <link:label id="lab_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments_label_en-US" xlink:label="lab_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Maximum Increase In Commitments</link:label>
    <link:label id="lab_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments_documentation_en-US" xlink:label="lab_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Maximum Increase In Commitments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments" xlink:href="fstr-20230331.xsd#fstr_LineOfCreditFacilityMaximumIncreaseInCommitments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments" xlink:to="lab_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_d48e1c30-0606-4cc1-b023-b54da561d332_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_NoncontrollingInterestMember_f685fa62-8aec-44e5-8540-999d88b6beb3_terseLabel_en-US" xlink:label="lab_us-gaap_NoncontrollingInterestMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_InterestIncomeExpenseNet_48dd9652-eda9-43f9-8ad7-aee79ad6a504_terseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense - net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_label_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Income (Expense), Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_34ee7a47-77e2-4931-b644-9856d00e6408_negatedLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Amortization of Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_LiabilitiesAndStockholdersEquity_d02b032d-cd78-48f0-82b4-fda65fc0708a_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TOTAL LIABILITIES AND 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTerm_a64a315a-d6f8-4ca1-a6c7-5b98bfa3e86d_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_GoodwillRollForward_1e862986-55a1-4ff6-aa12-6335f2d1dfb2_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillRollForward_label_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_TimingOfTransferOfGoodOrServiceDomain_92f9affa-ab0f-4e5a-91d2-4d881e83031f_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_label_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_FairValueInputsLevel2Member_0145b8b4-9dc8-4e4c-9d56-d139aada5645_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest_bfad0f8a-164f-40f4-81b1-8f65c3adbffc_verboseLabel_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment for incentive awards expected to vest (in shares)</link:label>
    <link:label id="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest_label_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest</link:label>
    <link:label id="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest_documentation_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" xlink:to="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock_9bf8e96c-3829-43b1-94ef-2fdf9089bb2d_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Reconciliation of Operating Profit (Loss) from Segments to Consolidated</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:to="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fstr_DefinedBenefitPlanNumber_cae54da4-4353-46b7-b8c9-92da84f83434_verboseLabel_en-US" xlink:label="lab_fstr_DefinedBenefitPlanNumber" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of defined benefit plans</link:label>
    <link:label id="lab_fstr_DefinedBenefitPlanNumber_label_en-US" xlink:label="lab_fstr_DefinedBenefitPlanNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">DefinedBenefitPlanNumber</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DefinedBenefitPlanNumber" xlink:href="fstr-20230331.xsd#fstr_DefinedBenefitPlanNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_DefinedBenefitPlanNumber" xlink:to="lab_fstr_DefinedBenefitPlanNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember_a51c2214-3a6f-4bd3-8225-569703bc373d_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_CurrentFiscalYearEndDate_9f691d99-ffde-44a2-8783-bf88f2d43a14_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_VestingAxis_dfe55581-fdaa-4660-a7e3-78447dcd2fed_terseLabel_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:label id="lab_us-gaap_VestingAxis_label_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingAxis" xlink:to="lab_us-gaap_VestingAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_e338c518-24a5-4033-833b-be2d6e47910e_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_EarningsPerShareDiluted_40c86d43-7ae7-4f6a-856d-fd120118363b_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted loss per common share (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_CoatingsAndMeasurementMember_2d848f68-a09a-41d6-bde3-05ddca621f75_terseLabel_en-US" xlink:label="lab_fstr_CoatingsAndMeasurementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Coatings and Measurement</link:label>
    <link:label id="lab_fstr_CoatingsAndMeasurementMember_label_en-US" xlink:label="lab_fstr_CoatingsAndMeasurementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Coatings and Measurement [Member]</link:label>
    <link:label id="lab_fstr_CoatingsAndMeasurementMember_documentation_en-US" xlink:label="lab_fstr_CoatingsAndMeasurementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Coatings and Measurement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CoatingsAndMeasurementMember" xlink:href="fstr-20230331.xsd#fstr_CoatingsAndMeasurementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_CoatingsAndMeasurementMember" xlink:to="lab_fstr_CoatingsAndMeasurementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_fb076eb6-7b05-4b57-afb4-0c0c6429daa7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting period two</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Tranche Two [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_355c01c7-ae16-4524-bdaa-c2c27c72bae1_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_TrademarksAndTradeNamesMember_433c6655-541e-4df7-9b78-9ff770171928_terseLabel_en-US" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_7010885d-4088-4b7b-a2b0-e8ae428883f9_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_GainLossOnSaleOfPropertyPlantEquipment_1a3baa30-5f24-4da8-87dc-f1c6ef1a359b_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">(Gain) loss on sales and disposals of property, plant, and equipment</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_1bea474b-6c47-4a98-adcf-22c4a92e43ff_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_UprrMember_ab8d21d9-4431-4d11-a57b-e540f997d1ea_terseLabel_en-US" xlink:label="lab_fstr_UprrMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UprrMember</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UprrMember" xlink:href="fstr-20230331.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_srt_ConsolidationItemsAxis_e608ef18-a218-4cca-a7c2-2d2258b00c60_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:label id="lab_srt_ConsolidationItemsAxis_label_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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_fstr_InterestIncome_4168d9a7-1eca-4436-ac83-8e4c6bb73f72_terseLabel_en-US" xlink:label="lab_fstr_InterestIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest income</link:label>
    <link:label id="lab_fstr_InterestIncome_label_en-US" xlink:label="lab_fstr_InterestIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Income</link:label>
    <link:label id="lab_fstr_InterestIncome_documentation_en-US" xlink:label="lab_fstr_InterestIncome" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InterestIncome" xlink:href="fstr-20230331.xsd#fstr_InterestIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_InterestIncome" xlink:to="lab_fstr_InterestIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_e9857519-699b-46e6-a65f-fef918cae6e0_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_OtherAssetsCurrent_6d92a1c2-c903-421d-a1ce-7a788d0234ed_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_cb19893d-87f7-43e4-a322-37c52525c6b2_terseLabel_en-US" xlink:label="lab_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_RevenueRemainingPerformanceObligation_adc2d7e3-481d-4abb-b1c0-c5ec8eab3fc6_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_a2866b04-95ff-4dff-908d-d60080c8477c_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accounts Receivable, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_AdjustmentForAmortization_7b1dacec-c9da-4101-bbea-1927f9146d1d_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentForAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_dei_EntityAddressAddressLine2_01462510-b7d4-48fd-a5f0-e37b597b1c5e_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine2" xlink:to="lab_dei_EntityAddressAddressLine2" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_3df1ed81-0cdb-43d9-9876-78c4a04f0dbb_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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_us-gaap_CostOfRevenue_453a619d-6b9d-4c06-ad72-827aa0291829_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfRevenue_label_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfRevenue" xlink:to="lab_us-gaap_CostOfRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_7ed88757-b5e5-4f53-acab-e0c51db02ebc_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of December 31, 2022</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_7a6fc792-4d67-4082-ab15-6d6ff0d2186e_periodStartLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of December 31, 2022</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_b39f237f-d8bd-47d0-ac45-bd18596766d5_periodEndLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of March 31, 2023</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrentAbstract_ee62eb3e-15e8-44b0-a661-0e28160a0d6a_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets:</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_srt_ProductOrServiceAxis_f8dca509-4273-477f-90e8-f4511918a530_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/srt-2022.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_DefinedBenefitPlanExpectedReturnOnPlanAssets_70bec2fb-022c-44bb-b593-c8a4b326bd7a_negatedLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_OverTimeOutputMethodMember_a0721e31-9962-402f-a8b4-e90ef701a888_terseLabel_en-US" xlink:label="lab_fstr_OverTimeOutputMethodMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over time 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over Time Output Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeOutputMethodMember" xlink:href="fstr-20230331.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_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_InterestExpense_2459b326-1fee-457e-8c0a-9993359d71e6_verboseLabel_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense - net</link:label>
    <link:label id="lab_us-gaap_InterestExpense_8324a5b1-e445-4644-9c8d-9b6a3ffad990_terseLabel_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense</link:label>
    <link:label id="lab_us-gaap_InterestExpense_label_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpense" xlink:to="lab_us-gaap_InterestExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_297f3880-c32a-4669-8374-9164227126f1_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanTypeAxis_2aa30dd3-9fc6-440c-b87b-4645525b762f_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanTypeAxis_label_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanTypeAxis" xlink:to="lab_us-gaap_RetirementPlanTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations_552ccba5-885d-44b0-bc44-b7d357a31147_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt (Note 7)</link:label>
    <link:label id="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations_f685b15e-a528-4d16-a5f7-96e37b20c9c6_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_PrecastConcreteBuildingsMember_78e89166-8619-41ae-852d-ac1894a2d8d6_terseLabel_en-US" xlink:label="lab_fstr_PrecastConcreteBuildingsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Precast Concrete Buildings</link:label>
    <link:label id="lab_fstr_PrecastConcreteBuildingsMember_label_en-US" xlink:label="lab_fstr_PrecastConcreteBuildingsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Precast Concrete Buildings [Member]</link:label>
    <link:label id="lab_fstr_PrecastConcreteBuildingsMember_documentation_en-US" xlink:label="lab_fstr_PrecastConcreteBuildingsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Precast Concrete Buildings</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteBuildingsMember" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteBuildingsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_PrecastConcreteBuildingsMember" xlink:to="lab_fstr_PrecastConcreteBuildingsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_d8bf0428-bf42-4d9d-8565-f93a21d63c99_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_78f6c237-f7ba-4f39-81d7-09b2b46131ab_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_EquityLossIncomeAndRemeasurementGain_98fb0219-0bad-40f2-941b-99263fab4931_terseLabel_en-US" xlink:label="lab_fstr_EquityLossIncomeAndRemeasurementGain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_d1e8b0b6-7788-4a52-a9d2-cb5eef11877f_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_dei_EntityTaxIdentificationNumber_b3b569e0-65c9-4b67-801c-ba44cddddc10_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_372961a6-8063-473e-b61e-4d3b2d989339_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification of pension liability adjustments to earnings, net of tax expense of $2 and $16, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_1b5a0eec-1502-463b-a3de-4e828f607459_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_OffMarketFavorableLeaseMember_248e3a52-a524-45f3-98c8-08cc4256da31_terseLabel_en-US" xlink:label="lab_us-gaap_OffMarketFavorableLeaseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_DisaggregationOfRevenueTableTextBlock_18cd4e65-1672-43dc-b3c0-e9477a4de588_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_NoncompeteAgreementsMember_0396a74a-20ff-4c74-b066-f94d7b146947_terseLabel_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-compete agreements</link:label>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_label_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncompeteAgreementsMember" xlink:to="lab_us-gaap_NoncompeteAgreementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_17303167-ea2f-4ddf-af34-9daf19c11b62_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net decrease in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_dei_EntityCentralIndexKey_8564e534-41e9-4de2-9210-758d9a6b11d6_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4976b0f0-5c34-4f33-a30b-1e89c82f5baa_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_FiniteLivedIntangibleAssetsByMajorClassAxis_9e91d8d5-667a-476e-9f62-4a251de9e84a_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_83dd59ea-5292-4c03-b62a-20849ea8e4ae_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_941eb1b8-c2c6-4217-b86f-f31ad529cde7_terseLabel_en-US" xlink:label="lab_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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-20230331.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_dei_EntityDomain_466eefd9-ba86-4107-90c2-559076f6709f_terseLabel_en-US" xlink:label="lab_dei_EntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity [Domain]</link:label>
    <link:label id="lab_dei_EntityDomain_label_en-US" xlink:label="lab_dei_EntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityDomain" xlink:to="lab_dei_EntityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_41614df2-550b-44fc-b2a4-bee28d5bbd52_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_a9dbf4bb-9ec0-49f3-bfa5-ceb265020311_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_IncreaseDecreaseInOtherCurrentAssets_42d6622a-e4cb-4894-854c-fbeef2eeb92c_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current assets</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_StatementOfStockholdersEquityAbstract_b4a238e7-9300-4366-a028-103e63d38367_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_DebtInstrumentRedemptionPeriodAxis_4a17441d-520d-43fd-ad5d-661d7b7c6a85_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_RevenueRemainingPerformanceObligationPercentage_68a25e44-5ea8-4aa1-9953-b8532186db23_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue remaining performance obligation (percentage)</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod_f0db3c32-7deb-4dee-b10a-713e4addf2b8_terseLabel_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred receipt period</link:label>
    <link:label id="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod_label_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Deferred Receipt Period</link:label>
    <link:label id="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod_documentation_en-US" xlink:label="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Deferred Receipt Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" xlink:to="lab_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_41f5231f-24b7-4bf7-aaea-f1a3d86f2157_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CASH FLOWS FROM FINANCING ACTIVITIES:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_b4503903-a8fe-4c47-8617-7c50b5143974_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_95b116f6-2376-4099-a7f9-c788ead281cc_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less comprehensive (loss) income 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_OtherLiabilitiesNoncurrent_0af70bcd-eb22-4630-bf04-c43e254459a9_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_PaymentsToAcquirePropertyPlantAndEquipment_8144045f-ec2f-4cbd-b4b3-0221e2de16e8_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_AccountsNotesAndLoansReceivableNetCurrent_2b6a844c-5cd2-41c6-93b1-f3859261671d_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsNotesAndLoansReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable - net (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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/us-gaap-2022.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_us-gaap_DisaggregationOfRevenueLineItems_9447bed4-e2bc-4cc1-857d-e068ac88c427_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_LongTermPurchaseCommitmentAmount_cef40738-1e62-40d5-92a7-9a123ba3d829_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase commitment</link:label>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentAmount_label_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Purchase Commitment, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_WeightedAverageMember_2bc650cc-ab85-403e-8246-a21c76c08265_terseLabel_en-US" xlink:label="lab_srt_WeightedAverageMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average</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" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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/2022/elts/srt-2022.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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_f6c31227-2f60-42d0-8c91-2cf64a5b65db_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of 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" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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_NameOfMajorCustomerDomain_5ec22658-e18d-4fdc-a31d-336e32e4223d_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_328b54d9-3a36-4a28-a572-2b71f0fea7cb_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss attributable to noncontrolling interest</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Net of Tax, Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>fstr-20230331_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:e6b60733-307a-4608-a609-e78ae7aaa679,g:27e4db7c-fd2f-4e9e-b8f9-b24e60302288-->
<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-20230331.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_337c9e69-9044-4a4e-8079-3785390d800c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_3b853bfb-4338-474e-957c-669a180da5b6" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_DocumentType_3b853bfb-4338-474e-957c-669a180da5b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_f9bd9c51-e479-4f33-8934-45392ee6001c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_DocumentQuarterlyReport_f9bd9c51-e479-4f33-8934-45392ee6001c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_5196d051-9335-4e03-a704-96041fabdb57" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_DocumentPeriodEndDate_5196d051-9335-4e03-a704-96041fabdb57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_72627d67-3d3c-4616-a721-fc5a7ebdc23b" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_DocumentTransitionReport_72627d67-3d3c-4616-a721-fc5a7ebdc23b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_20e4e060-0bb8-4105-b0c1-ee7ebd0050c2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityFileNumber_20e4e060-0bb8-4105-b0c1-ee7ebd0050c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_a81065bc-0fd6-48aa-ab58-d6cdc6f06865" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityRegistrantName_a81065bc-0fd6-48aa-ab58-d6cdc6f06865" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_cf4fa345-774a-4fd7-8fe3-b59170672abf" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityIncorporationStateCountryCode_cf4fa345-774a-4fd7-8fe3-b59170672abf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_cd487f0c-5e9f-457b-982a-082f37466eb6" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityTaxIdentificationNumber_cd487f0c-5e9f-457b-982a-082f37466eb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_2814db10-0232-44af-8d5f-2928998e6633" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityAddressAddressLine1_2814db10-0232-44af-8d5f-2928998e6633" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2_7e542889-1b66-4dd5-a606-ccb4933ec9d0" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityAddressAddressLine2_7e542889-1b66-4dd5-a606-ccb4933ec9d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_94e4f568-3258-411b-ac34-49ca7b51d2de" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityAddressCityOrTown_94e4f568-3258-411b-ac34-49ca7b51d2de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_9e41d23e-0243-41bf-a0fb-c316dc65a1ed" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityAddressStateOrProvince_9e41d23e-0243-41bf-a0fb-c316dc65a1ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_236a7151-b728-4b91-9367-006a365804fc" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityAddressPostalZipCode_236a7151-b728-4b91-9367-006a365804fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_3721a7f1-c653-4c7e-8ccc-4eb5013668bf" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_CityAreaCode_3721a7f1-c653-4c7e-8ccc-4eb5013668bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_da8105ff-f444-47c7-bd5b-1ffb1a65130f" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_LocalPhoneNumber_da8105ff-f444-47c7-bd5b-1ffb1a65130f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_ecd6e67c-c789-410e-a894-ff745aa2e09d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_Security12bTitle_ecd6e67c-c789-410e-a894-ff745aa2e09d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_82d11c26-ae96-465b-a0aa-9507aaf689ea" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_TradingSymbol_82d11c26-ae96-465b-a0aa-9507aaf689ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_241bb295-d24a-4e0f-900f-fbb132ca18f8" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_SecurityExchangeName_241bb295-d24a-4e0f-900f-fbb132ca18f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_440ad040-b61d-4f28-890a-68010da65c24" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityCurrentReportingStatus_440ad040-b61d-4f28-890a-68010da65c24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_8c13b8bd-f74f-483e-8e4c-44c501b1e795" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityInteractiveDataCurrent_8c13b8bd-f74f-483e-8e4c-44c501b1e795" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_6c4eb676-f165-4d02-81eb-acd459bb461a" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityFilerCategory_6c4eb676-f165-4d02-81eb-acd459bb461a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_1cb5e343-6aa9-490e-8963-ed46408e3d25" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntitySmallBusiness_1cb5e343-6aa9-490e-8963-ed46408e3d25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_e56795f6-283d-4fcf-8968-63561e183055" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityEmergingGrowthCompany_e56795f6-283d-4fcf-8968-63561e183055" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_487ca0b6-4fce-49d4-ae17-1a94a9319be4" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityShellCompany_487ca0b6-4fce-49d4-ae17-1a94a9319be4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_f336b314-e8c3-45e3-8252-49a1fdb79176" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_f336b314-e8c3-45e3-8252-49a1fdb79176" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_ea0b1b66-05a2-4a90-a7f5-3f60f9fc10ef" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_AmendmentFlag_ea0b1b66-05a2-4a90-a7f5-3f60f9fc10ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_3ae72cb8-f313-401a-8b94-f2c7d9052f02" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_DocumentFiscalYearFocus_3ae72cb8-f313-401a-8b94-f2c7d9052f02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_59eb9b74-023f-4dd3-9aa3-65a777759e72" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_DocumentFiscalPeriodFocus_59eb9b74-023f-4dd3-9aa3-65a777759e72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_c149469d-f577-4052-a505-28a74b3e3c83" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_EntityCentralIndexKey_c149469d-f577-4052-a505-28a74b3e3c83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_3777ad07-0e28-4e2a-8464-4084d7dfd71d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_337c9e69-9044-4a4e-8079-3785390d800c" xlink:to="loc_dei_CurrentFiscalYearEndDate_3777ad07-0e28-4e2a-8464-4084d7dfd71d" 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-20230331.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_749bf526-982d-4d01-a4f3-a25c6982c86a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_d21c5dc5-e84f-48de-9b83-4c293505d24c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_749bf526-982d-4d01-a4f3-a25c6982c86a" xlink:to="loc_us-gaap_AssetsAbstract_d21c5dc5-e84f-48de-9b83-4c293505d24c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_550e0dec-56a7-4d76-8d67-1afbae616a7d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d21c5dc5-e84f-48de-9b83-4c293505d24c" xlink:to="loc_us-gaap_AssetsCurrentAbstract_550e0dec-56a7-4d76-8d67-1afbae616a7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_727ef412-6be5-4878-aedf-e0a184728006" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_550e0dec-56a7-4d76-8d67-1afbae616a7d" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_727ef412-6be5-4878-aedf-e0a184728006" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_7756a971-395e-4b2d-9d93-a35718257eb7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_550e0dec-56a7-4d76-8d67-1afbae616a7d" xlink:to="loc_us-gaap_AccountsNotesAndLoansReceivableNetCurrent_7756a971-395e-4b2d-9d93-a35718257eb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_22046e24-71b9-4be4-930c-dea22f40f0e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_550e0dec-56a7-4d76-8d67-1afbae616a7d" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_22046e24-71b9-4be4-930c-dea22f40f0e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_174e6f88-825c-4b55-8393-5dd86f0164ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_550e0dec-56a7-4d76-8d67-1afbae616a7d" xlink:to="loc_us-gaap_InventoryNet_174e6f88-825c-4b55-8393-5dd86f0164ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_6055f96f-f3bc-43a2-962a-452b99e44588" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_550e0dec-56a7-4d76-8d67-1afbae616a7d" xlink:to="loc_us-gaap_OtherAssetsCurrent_6055f96f-f3bc-43a2-962a-452b99e44588" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_3c2bb470-3eeb-4fb8-af33-3cb458962567" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_550e0dec-56a7-4d76-8d67-1afbae616a7d" xlink:to="loc_us-gaap_AssetsCurrent_3c2bb470-3eeb-4fb8-af33-3cb458962567" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_a20bb7da-92c0-472c-b163-ff8fd1c8f441" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d21c5dc5-e84f-48de-9b83-4c293505d24c" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_a20bb7da-92c0-472c-b163-ff8fd1c8f441" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_2a402967-5e10-44f3-82aa-5363c6207f27" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d21c5dc5-e84f-48de-9b83-4c293505d24c" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_2a402967-5e10-44f3-82aa-5363c6207f27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrentAbstract_1d3f0a56-0ed4-41a1-a481-7036f3f2a7e8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrentAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d21c5dc5-e84f-48de-9b83-4c293505d24c" xlink:to="loc_us-gaap_OtherAssetsNoncurrentAbstract_1d3f0a56-0ed4-41a1-a481-7036f3f2a7e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_d5015fa8-2755-4990-8f5a-2c95639e09eb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_1d3f0a56-0ed4-41a1-a481-7036f3f2a7e8" xlink:to="loc_us-gaap_Goodwill_d5015fa8-2755-4990-8f5a-2c95639e09eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_daac776c-848c-4ea3-89dd-afc1161cd35a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_1d3f0a56-0ed4-41a1-a481-7036f3f2a7e8" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_daac776c-848c-4ea3-89dd-afc1161cd35a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_97c07a5a-b6ed-4d8d-808f-1495adc84ab6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_1d3f0a56-0ed4-41a1-a481-7036f3f2a7e8" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_97c07a5a-b6ed-4d8d-808f-1495adc84ab6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_25e8e3c0-069f-415e-bb9f-b03b672243ff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_1d3f0a56-0ed4-41a1-a481-7036f3f2a7e8" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_25e8e3c0-069f-415e-bb9f-b03b672243ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_c9204b40-0152-4167-8c77-2c85bf79d189" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d21c5dc5-e84f-48de-9b83-4c293505d24c" xlink:to="loc_us-gaap_Assets_c9204b40-0152-4167-8c77-2c85bf79d189" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_749bf526-982d-4d01-a4f3-a25c6982c86a" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_d532f6bb-611e-44d1-b711-648ae4750c87" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:to="loc_us-gaap_AccountsPayableCurrent_d532f6bb-611e-44d1-b711-648ae4750c87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_c5e6756d-6f01-4f84-b6b0-af65c706b03a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_c5e6756d-6f01-4f84-b6b0-af65c706b03a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_2c0453f8-159f-411c-8af0-76a06aef2ff4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_2c0453f8-159f-411c-8af0-76a06aef2ff4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AccruedLegalSettlementCurrent_c1465850-1a81-45d7-a735-10db4f403d8a" xlink:href="fstr-20230331.xsd#fstr_AccruedLegalSettlementCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:to="loc_fstr_AccruedLegalSettlementCurrent_c1465850-1a81-45d7-a735-10db4f403d8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_b054f886-144f-466e-a454-5fcf4f61f45f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_b054f886-144f-466e-a454-5fcf4f61f45f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_92c958c0-6e0b-47aa-9f8f-497e9b83ac05" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_92c958c0-6e0b-47aa-9f8f-497e9b83ac05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_d28c9f15-0bbc-4ad6-be3e-17e9a5748355" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_58b2db8c-1629-407a-a0c2-b1e5be1e2b8d" xlink:to="loc_us-gaap_LiabilitiesCurrent_d28c9f15-0bbc-4ad6-be3e-17e9a5748355" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_d222e7f3-16fd-4486-a393-4c9d9b8f8b5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_d222e7f3-16fd-4486-a393-4c9d9b8f8b5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_ca82ab86-b224-4db1-88dc-ce63059e1735" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_ca82ab86-b224-4db1-88dc-ce63059e1735" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_AccruedLegalSettlementNonCurrent_bb1ef8a7-1e6e-4c0d-a352-79038b7ff119" xlink:href="fstr-20230331.xsd#fstr_AccruedLegalSettlementNonCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:to="loc_fstr_AccruedLegalSettlementNonCurrent_bb1ef8a7-1e6e-4c0d-a352-79038b7ff119" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_4b034506-7390-41c1-891a-a50f8dfee2f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_4b034506-7390-41c1-891a-a50f8dfee2f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_16b85c9a-c362-4e14-ab85-b239d131ca2a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_16b85c9a-c362-4e14-ab85-b239d131ca2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:to="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_c9181147-de28-475e-837c-b2c5d3c17e2e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:to="loc_us-gaap_CommonStockValue_c9181147-de28-475e-837c-b2c5d3c17e2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_26ec8e14-1e1a-4c47-b9b0-f751aaf270e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:to="loc_us-gaap_AdditionalPaidInCapital_26ec8e14-1e1a-4c47-b9b0-f751aaf270e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_cc504ba4-e7c0-43a9-a93e-c92cd4abfb16" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_cc504ba4-e7c0-43a9-a93e-c92cd4abfb16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonValue_86ffdef8-709e-4e3b-aac3-afce6ac84dfa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:to="loc_us-gaap_TreasuryStockCommonValue_86ffdef8-709e-4e3b-aac3-afce6ac84dfa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_d60a121c-12b9-47de-862b-c19b795ed603" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_d60a121c-12b9-47de-862b-c19b795ed603" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_b8a8b785-884c-4c98-ac66-8d4065acf619" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:to="loc_us-gaap_StockholdersEquity_b8a8b785-884c-4c98-ac66-8d4065acf619" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MinorityInterest_21bad61f-8723-4013-9db1-59bcdbd6814e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:to="loc_us-gaap_MinorityInterest_21bad61f-8723-4013-9db1-59bcdbd6814e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_c403ce5a-6ef1-4aef-9268-1aaddf95400e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_eae51c07-2165-49df-9731-879fcd959a9f" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_c403ce5a-6ef1-4aef-9268-1aaddf95400e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_bfa23b8d-3ea4-4cdb-b555-70394ec42e6c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_3c7b1652-13b1-4286-8f2c-113db1ba1c43" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_bfa23b8d-3ea4-4cdb-b555-70394ec42e6c" 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-20230331.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_7d5f1445-c5b0-4ada-a21f-0b96a7ea8dc6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_d7aa29bf-c89e-472f-8efb-3a5f4dd115ea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_7d5f1445-c5b0-4ada-a21f-0b96a7ea8dc6" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_d7aa29bf-c89e-472f-8efb-3a5f4dd115ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_afad4319-4d3e-49f7-aff2-385b81596e73" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_7d5f1445-c5b0-4ada-a21f-0b96a7ea8dc6" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_afad4319-4d3e-49f7-aff2-385b81596e73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_1b93d109-8d23-4d1a-91a6-dfab73ea69d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_7d5f1445-c5b0-4ada-a21f-0b96a7ea8dc6" xlink:to="loc_us-gaap_CommonStockSharesIssued_1b93d109-8d23-4d1a-91a6-dfab73ea69d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_f2198ad8-d8ce-4180-96f4-b6b660c0ec02" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_7d5f1445-c5b0-4ada-a21f-0b96a7ea8dc6" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_f2198ad8-d8ce-4180-96f4-b6b660c0ec02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_d6d643d8-767c-4341-a6c8-0763b8893bc8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_7d5f1445-c5b0-4ada-a21f-0b96a7ea8dc6" xlink:to="loc_us-gaap_TreasuryStockCommonShares_d6d643d8-767c-4341-a6c8-0763b8893bc8" 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-20230331.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_85c4f3ea-0e35-4b34-946a-8f9d708a09a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_fe053477-2c85-40d7-aad8-3e2c507dc6f8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_85c4f3ea-0e35-4b34-946a-8f9d708a09a1" xlink:to="loc_us-gaap_StatementTable_fe053477-2c85-40d7-aad8-3e2c507dc6f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_fc405a99-0709-42cf-8a4f-c009111f1d1c" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_fe053477-2c85-40d7-aad8-3e2c507dc6f8" xlink:to="loc_srt_ProductOrServiceAxis_fc405a99-0709-42cf-8a4f-c009111f1d1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_35c37c81-cc1c-4ff4-ae59-a2061a229fbd" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_fc405a99-0709-42cf-8a4f-c009111f1d1c" xlink:to="loc_srt_ProductsAndServicesDomain_35c37c81-cc1c-4ff4-ae59-a2061a229fbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_e1dcc869-583c-4917-8784-b45b93eb93f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_35c37c81-cc1c-4ff4-ae59-a2061a229fbd" xlink:to="loc_us-gaap_ProductMember_e1dcc869-583c-4917-8784-b45b93eb93f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ServiceMember_51c04f54-9d26-405f-ae69-f38689794d76" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ServiceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_35c37c81-cc1c-4ff4-ae59-a2061a229fbd" xlink:to="loc_us-gaap_ServiceMember_51c04f54-9d26-405f-ae69-f38689794d76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_fe053477-2c85-40d7-aad8-3e2c507dc6f8" xlink:to="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_02da4d5a-ead7-46f7-854b-27bcdbef9245" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_02da4d5a-ead7-46f7-854b-27bcdbef9245" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_6a87bb47-f892-41a5-a7dc-6246fb2a2bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_CostOfRevenue_6a87bb47-f892-41a5-a7dc-6246fb2a2bc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_345852f6-f33e-4870-9d64-122288a24739" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_GrossProfit_345852f6-f33e-4870-9d64-122288a24739" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_8086b13e-b8b1-481e-9976-a8e98387948f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_8086b13e-b8b1-481e-9976-a8e98387948f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_417913b0-5700-490c-81fc-2a3b0995b22c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_417913b0-5700-490c-81fc-2a3b0995b22c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_f405e7d1-ce38-4db9-918e-1563c00b5d3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_OperatingIncomeLoss_f405e7d1-ce38-4db9-918e-1563c00b5d3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_cf7476ba-71eb-4f7c-94f2-216ebb5bb8e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_InterestExpense_cf7476ba-71eb-4f7c-94f2-216ebb5bb8e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_bd666e6c-b15d-4523-972b-8fb4637f82d4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_bd666e6c-b15d-4523-972b-8fb4637f82d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e952fefa-fe1c-41a8-9239-efc4e4af8e3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e952fefa-fe1c-41a8-9239-efc4e4af8e3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_d991291a-1b36-40b1-8eed-78cf7a0e7b07" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_d991291a-1b36-40b1-8eed-78cf7a0e7b07" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_b71c6ba0-56e9-4dc8-8a10-3179bcd1059d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_b71c6ba0-56e9-4dc8-8a10-3179bcd1059d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_b9b86467-8829-4c05-9bf7-614a11c9fbf4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity_b9b86467-8829-4c05-9bf7-614a11c9fbf4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e9fccde9-953a-4608-9bb3-08ff1140c6e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_NetIncomeLoss_e9fccde9-953a-4608-9bb3-08ff1140c6e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_650c9a20-afc9-4cbb-ab6c-0955652781aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_EarningsPerShareBasic_650c9a20-afc9-4cbb-ab6c-0955652781aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_c44b25eb-2b2e-422f-9de5-4b53dbfd80be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4bd872c2-6916-4464-9377-e7501673c12b" xlink:to="loc_us-gaap_EarningsPerShareDiluted_c44b25eb-2b2e-422f-9de5-4b53dbfd80be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss" xlink:type="simple" xlink:href="fstr-20230331.xsd#CondensedConsolidatedStatementsofComprehensiveLoss"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_794b0f1c-9c3b-4fdf-b40f-15019c6709f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_616eb5da-dfc1-4189-b033-f615127a26ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_794b0f1c-9c3b-4fdf-b40f-15019c6709f5" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_616eb5da-dfc1-4189-b033-f615127a26ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_282cd2a4-bd5f-497b-94c0-b76fcbdc6373" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_794b0f1c-9c3b-4fdf-b40f-15019c6709f5" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_282cd2a4-bd5f-497b-94c0-b76fcbdc6373" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_8fb0a9bf-496f-4ed7-8f55-ebaaf66976b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_282cd2a4-bd5f-497b-94c0-b76fcbdc6373" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_8fb0a9bf-496f-4ed7-8f55-ebaaf66976b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_0ccdc9f8-b221-4ba6-ba14-e876e6552e50" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_282cd2a4-bd5f-497b-94c0-b76fcbdc6373" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_0ccdc9f8-b221-4ba6-ba14-e876e6552e50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_ec5cc172-365c-411e-ac84-d789395d1b15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_282cd2a4-bd5f-497b-94c0-b76fcbdc6373" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_ec5cc172-365c-411e-ac84-d789395d1b15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_75aa427a-e904-4cc9-bb2d-ff30eee85a5a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_282cd2a4-bd5f-497b-94c0-b76fcbdc6373" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_75aa427a-e904-4cc9-bb2d-ff30eee85a5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_b7d1ce0c-9335-4401-8355-77db7bd64804" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_282cd2a4-bd5f-497b-94c0-b76fcbdc6373" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_b7d1ce0c-9335-4401-8355-77db7bd64804" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_92c225f0-a44d-4c81-b156-334860c8c011" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_794b0f1c-9c3b-4fdf-b40f-15019c6709f5" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_92c225f0-a44d-4c81-b156-334860c8c011" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_c33edd35-7484-42b6-b94f-139695eb34fc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_92c225f0-a44d-4c81-b156-334860c8c011" xlink:to="loc_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_c33edd35-7484-42b6-b94f-139695eb34fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_d31c4493-4b48-4522-9475-450c001fd841" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_92c225f0-a44d-4c81-b156-334860c8c011" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest_d31c4493-4b48-4522-9475-450c001fd841" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_6efe7c2d-bce2-4bc3-a99f-d58ee42db60c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract_92c225f0-a44d-4c81-b156-334860c8c011" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_6efe7c2d-bce2-4bc3-a99f-d58ee42db60c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_27cd30b8-f465-4ddc-9644-0ebfb5eee7c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_794b0f1c-9c3b-4fdf-b40f-15019c6709f5" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_27cd30b8-f465-4ddc-9644-0ebfb5eee7c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLossParenthetical" xlink:type="simple" xlink:href="fstr-20230331.xsd#CondensedConsolidatedStatementsofComprehensiveLossParenthetical"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLossParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_202becf1-fb03-4872-ab73-544d29c08245" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax_be2bf0c7-b975-4668-8a0d-4576d992ba72" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_202becf1-fb03-4872-ab73-544d29c08245" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax_be2bf0c7-b975-4668-8a0d-4576d992ba72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax_b435cd61-3c65-4998-8274-2fdddc1b52d9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_202becf1-fb03-4872-ab73-544d29c08245" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax_b435cd61-3c65-4998-8274-2fdddc1b52d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_d6b1fdc3-44d1-4a63-a136-fc43040cd97c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_202becf1-fb03-4872-ab73-544d29c08245" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax_d6b1fdc3-44d1-4a63-a136-fc43040cd97c" 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-20230331.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_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_c44f641b-4b97-4dab-83a0-07d1961d2069" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_c44f641b-4b97-4dab-83a0-07d1961d2069" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_7f1966fd-6f71-4b2b-a676-ba1cdacb10c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_c44f641b-4b97-4dab-83a0-07d1961d2069" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_7f1966fd-6f71-4b2b-a676-ba1cdacb10c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_c44f641b-4b97-4dab-83a0-07d1961d2069" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_36da733f-3512-4720-a9c1-8df3f1152281" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_36da733f-3512-4720-a9c1-8df3f1152281" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_8cd92b6d-a4e9-4164-8bef-8bec4291afd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:to="loc_us-gaap_Depreciation_8cd92b6d-a4e9-4164-8bef-8bec4291afd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentForAmortization_f26ab948-4f08-4dd6-baef-bc1a9c617191" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentForAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:to="loc_us-gaap_AdjustmentForAmortization_f26ab948-4f08-4dd6-baef-bc1a9c617191" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_EquityLossIncomeAndRemeasurementGain_6be3f769-fa66-48be-9d3b-fc908abfe7c6" xlink:href="fstr-20230331.xsd#fstr_EquityLossIncomeAndRemeasurementGain"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:to="loc_fstr_EquityLossIncomeAndRemeasurementGain_6be3f769-fa66-48be-9d3b-fc908abfe7c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_caa3967f-e263-4e35-9a4c-cf632f542bc3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_caa3967f-e263-4e35-9a4c-cf632f542bc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_a652d789-46ed-4874-abd7-9f01d5b58aeb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:to="loc_us-gaap_ShareBasedCompensation_a652d789-46ed-4874-abd7-9f01d5b58aeb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_c091b665-d829-4cfa-8f9a-18b440eeb2d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_c091b665-d829-4cfa-8f9a-18b440eeb2d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_ff3ffd6b-0a13-42c1-b49b-dc81a43b3d21" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_eca1e8d2-e53a-4b53-ba75-34b6d0a6b4f8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables_eca1e8d2-e53a-4b53-ba75-34b6d0a6b4f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_7aaedf42-3bd6-4e36-8270-17ae9fb18104" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_7aaedf42-3bd6-4e36-8270-17ae9fb18104" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_36d721c2-1772-450a-bb18-d8b7a6879dc5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_36d721c2-1772-450a-bb18-d8b7a6879dc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets_2e8937d5-c424-4361-99a5-f2d1f6f37344" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherCurrentAssets_2e8937d5-c424-4361-99a5-f2d1f6f37344" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_4057a258-c468-4e15-bdb8-f669757f4bbf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_4057a258-c468-4e15-bdb8-f669757f4bbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_ac0bea3b-b731-471a-bcb8-42dee4f7088b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_ac0bea3b-b731-471a-bcb8-42dee4f7088b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_c1afc271-2790-43e3-b653-5b4eb3e1687f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_c1afc271-2790-43e3-b653-5b4eb3e1687f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_29a96774-b05f-49cd-bdfa-60557f2fd799" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_29a96774-b05f-49cd-bdfa-60557f2fd799" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_42823d10-a9ba-4401-a45d-19f845c03bff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_42823d10-a9ba-4401-a45d-19f845c03bff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_a05d3751-2ad7-42ce-863d-bc4f46af470b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_0e2a3ea6-eea1-4096-8d66-84f318f2e3a6" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_a05d3751-2ad7-42ce-863d-bc4f46af470b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a728b4f2-45ee-4495-950a-5420361c714b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_c44f641b-4b97-4dab-83a0-07d1961d2069" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a728b4f2-45ee-4495-950a-5420361c714b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_6e9e51c2-2df8-4994-b59f-f9799a95b5fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_6e9e51c2-2df8-4994-b59f-f9799a95b5fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_d1ea35ca-1358-456e-9c74-63a710e1b84c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_6e9e51c2-2df8-4994-b59f-f9799a95b5fa" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_d1ea35ca-1358-456e-9c74-63a710e1b84c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_7c47c450-2fed-4d44-8f8d-7522e344c376" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_6e9e51c2-2df8-4994-b59f-f9799a95b5fa" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_7c47c450-2fed-4d44-8f8d-7522e344c376" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinesses_e211ba02-a382-4c40-b92b-4ad7cca51d75" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromDivestitureOfBusinesses"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_6e9e51c2-2df8-4994-b59f-f9799a95b5fa" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinesses_e211ba02-a382-4c40-b92b-4ad7cca51d75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_6e4553d6-ece7-438e-af2b-8cf167a5cada" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_6e9e51c2-2df8-4994-b59f-f9799a95b5fa" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_6e4553d6-ece7-438e-af2b-8cf167a5cada" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_b4e6c157-2100-4cd0-afa4-3aeef9f270e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_b4e6c157-2100-4cd0-afa4-3aeef9f270e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfOtherLongTermDebt_969997d9-8487-4aa7-b911-10b32a06b389" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfOtherLongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_b4e6c157-2100-4cd0-afa4-3aeef9f270e2" xlink:to="loc_us-gaap_RepaymentsOfOtherLongTermDebt_969997d9-8487-4aa7-b911-10b32a06b389" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_748b2f83-c2db-4f94-9c7b-ae48037df526" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_b4e6c157-2100-4cd0-afa4-3aeef9f270e2" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_748b2f83-c2db-4f94-9c7b-ae48037df526" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_36c88807-fcf8-4c26-805a-16dbf8b12346" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_b4e6c157-2100-4cd0-afa4-3aeef9f270e2" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_36c88807-fcf8-4c26-805a-16dbf8b12346" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMinorityShareholders_a697966d-9084-4a5f-9725-1ff7e9d04ae8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_b4e6c157-2100-4cd0-afa4-3aeef9f270e2" xlink:to="loc_us-gaap_ProceedsFromMinorityShareholders_a697966d-9084-4a5f-9725-1ff7e9d04ae8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7b77bab4-45c1-4991-bf40-ddcc5ed2f745" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_b4e6c157-2100-4cd0-afa4-3aeef9f270e2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7b77bab4-45c1-4991-bf40-ddcc5ed2f745" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_e8fb975f-07ab-4f7d-b52e-9eb31f0add73" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_e8fb975f-07ab-4f7d-b52e-9eb31f0add73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_ceeef39b-3811-4e89-8436-3962213db162" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_ceeef39b-3811-4e89-8436-3962213db162" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_29a1b0be-af46-43ba-859b-7eb1beef86c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_29a1b0be-af46-43ba-859b-7eb1beef86c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_36cc4d5c-9c70-478f-b8d2-222039c17656" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_36cc4d5c-9c70-478f-b8d2-222039c17656" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_001126ce-6b5c-4dd3-b1e4-ee9922cb7675" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_35d91047-096f-4e0e-96dd-f4aae29f5043" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_001126ce-6b5c-4dd3-b1e4-ee9922cb7675" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_4def84bc-887e-4ea6-bf77-904a0a41e94b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_001126ce-6b5c-4dd3-b1e4-ee9922cb7675" xlink:to="loc_us-gaap_InterestPaidNet_4def84bc-887e-4ea6-bf77-904a0a41e94b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_ed42c2fc-3af0-4599-9baf-f4d87ce80f39" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_001126ce-6b5c-4dd3-b1e4-ee9922cb7675" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_ed42c2fc-3af0-4599-9baf-f4d87ce80f39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="fstr-20230331.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_67c106a2-06e9-41bc-808a-4af454ac8618" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_31189751-b059-4942-8ff3-99924167dec6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_67c106a2-06e9-41bc-808a-4af454ac8618" xlink:to="loc_us-gaap_StatementTable_31189751-b059-4942-8ff3-99924167dec6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_2950e8c1-39b8-42be-a967-a1618aba90c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_31189751-b059-4942-8ff3-99924167dec6" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_2950e8c1-39b8-42be-a967-a1618aba90c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2950e8c1-39b8-42be-a967-a1618aba90c1" xlink:to="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_013a6bf8-ecd8-4609-9830-ba1a6505287a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_CommonStockMember_013a6bf8-ecd8-4609-9830-ba1a6505287a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_775fb3de-de37-4285-a022-827e44d320e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_775fb3de-de37-4285-a022-827e44d320e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_cad8be74-d64c-4078-9971-09f76814a937" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_RetainedEarningsMember_cad8be74-d64c-4078-9971-09f76814a937" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_fe6b864b-dcf6-43a2-a3c1-b6db6b875dc0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_TreasuryStockCommonMember_fe6b864b-dcf6-43a2-a3c1-b6db6b875dc0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_bbed9fe4-9a24-45b9-ba85-adad2b36cf4a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_bbed9fe4-9a24-45b9-ba85-adad2b36cf4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncontrollingInterestMember_976d7f24-97b8-46e1-9115-4a16d5fb0858" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_e108a77b-5e5a-4857-b2e4-1f89040f7459" xlink:to="loc_us-gaap_NoncontrollingInterestMember_976d7f24-97b8-46e1-9115-4a16d5fb0858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_33d7ce1e-81c4-47cd-b2e6-77df1b3a29c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_31189751-b059-4942-8ff3-99924167dec6" xlink:to="loc_us-gaap_StatementLineItems_33d7ce1e-81c4-47cd-b2e6-77df1b3a29c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_33d7ce1e-81c4-47cd-b2e6-77df1b3a29c1" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_b7cd1389-8367-485a-93e9-bd34cf923955" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_b7cd1389-8367-485a-93e9-bd34cf923955" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_9837c4f5-16ac-41dd-87df-e8a3b4545648" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_ProfitLoss_9837c4f5-16ac-41dd-87df-e8a3b4545648" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_25457182-7fe5-4faf-8c0f-9ef7d04803c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_25457182-7fe5-4faf-8c0f-9ef7d04803c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_3be7bf3d-156a-49ac-a58d-7fc4f6e24d15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_3be7bf3d-156a-49ac-a58d-7fc4f6e24d15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_17267960-29fa-4fe8-8349-652dd387659b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_17267960-29fa-4fe8-8349-652dd387659b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_a8f88c55-cf3c-41eb-b23a-9f2c2d2cd296" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_7d8fb68c-cc9a-4386-943e-8feb680d7b3b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax_a8f88c55-cf3c-41eb-b23a-9f2c2d2cd296" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_12c8226a-b6e0-403d-8c58-b3403c563a21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_12c8226a-b6e0-403d-8c58-b3403c563a21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b7bbd8d8-4a77-4799-8b09-71e11b20153b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b7bbd8d8-4a77-4799-8b09-71e11b20153b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3e09d597-773d-418f-aabe-4513c5946b1b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8562f193-874c-4f1d-ab70-507b048a76bc" xlink:to="loc_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3e09d597-773d-418f-aabe-4513c5946b1b" 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-20230331.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_5c44754f-85b4-42e9-ab80-75e845c9c64b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_c3fbd891-54d2-411d-9b78-37854eca6370" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_5c44754f-85b4-42e9-ab80-75e845c9c64b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_c3fbd891-54d2-411d-9b78-37854eca6370" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FinancialStatements" xlink:type="simple" xlink:href="fstr-20230331.xsd#FinancialStatements"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/FinancialStatements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_dd855b27-eda9-463c-ae9b-82f1b4646944" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_e7410ea5-2a10-4d86-bd48-4f9f93fce4f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_dd855b27-eda9-463c-ae9b-82f1b4646944" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_e7410ea5-2a10-4d86-bd48-4f9f93fce4f7" 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-20230331.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_7bf25b4f-6bcb-4be7-a6b0-52729368445f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_b0859b2e-de07-48f5-a9a5-6e5aea1b8755" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_7bf25b4f-6bcb-4be7-a6b0-52729368445f" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_b0859b2e-de07-48f5-a9a5-6e5aea1b8755" 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-20230331.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_9f0f48c9-3cea-463f-906b-4380b94d6fe7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_4904706b-5c07-4733-b214-82e6720f4cfa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_9f0f48c9-3cea-463f-906b-4380b94d6fe7" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_4904706b-5c07-4733-b214-82e6720f4cfa" 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-20230331.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_4bc49554-dc61-4757-a120-963eb0c168ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_aa79a55b-d238-4591-abec-63465742bb13" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4bc49554-dc61-4757-a120-963eb0c168ef" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_aa79a55b-d238-4591-abec-63465742bb13" 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-20230331.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_41fb31f9-4d72-454e-a4b6-ad3dd88f0023" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_df05c37f-a75e-46fb-97f7-fc135c999b81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_41fb31f9-4d72-454e-a4b6-ad3dd88f0023" xlink:to="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_df05c37f-a75e-46fb-97f7-fc135c999b81" 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-20230331.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_8f490a38-370a-4a61-ac55-fe3bd30963ea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_081a2220-9b1d-4bf5-8f5b-82acfe2b55f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_8f490a38-370a-4a61-ac55-fe3bd30963ea" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_081a2220-9b1d-4bf5-8f5b-82acfe2b55f7" 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-20230331.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_3806ccad-6132-4890-9a04-9e469a6cbf8d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_7e9275fe-82c5-4a3a-a161-68d5483b7513" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_3806ccad-6132-4890-9a04-9e469a6cbf8d" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_7e9275fe-82c5-4a3a-a161-68d5483b7513" 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-20230331.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_2e9751cf-c7a9-4cf5-8a88-bedf9b4fc3a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_f7f868c9-7f02-4dec-b833-d84bb443c078" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_2e9751cf-c7a9-4cf5-8a88-bedf9b4fc3a9" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_f7f868c9-7f02-4dec-b833-d84bb443c078" 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-20230331.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_a2234d84-5bff-45dd-b16e-ea8427aaa123" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_e1257af5-adc0-4c61-a529-98d0d6d69640" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_a2234d84-5bff-45dd-b16e-ea8427aaa123" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_e1257af5-adc0-4c61-a529-98d0d6d69640" 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-20230331.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_1efe56d5-2ba3-46c2-8461-f794fc65f43b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_7700ad9e-da03-418a-8681-9fa4fa695200" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_1efe56d5-2ba3-46c2-8461-f794fc65f43b" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_7700ad9e-da03-418a-8681-9fa4fa695200" 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-20230331.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_ada5afc3-acdf-4635-ac25-0346622d6280" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_a5bc3f74-eafd-441d-a679-209d092200a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_ada5afc3-acdf-4635-ac25-0346622d6280" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_a5bc3f74-eafd-441d-a679-209d092200a6" 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-20230331.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_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_9121989e-8514-419b-a805-715c2a9d3136" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_49ae0026-c9b5-496d-843f-9d3a74a1a8dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_9121989e-8514-419b-a805-715c2a9d3136" xlink:to="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_49ae0026-c9b5-496d-843f-9d3a74a1a8dc" 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-20230331.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_447c92ea-4bac-471b-b7c5-925d06e6f897" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_ee7b1694-29ff-48b3-9e20-a89a6e1bf7ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_447c92ea-4bac-471b-b7c5-925d06e6f897" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_ee7b1694-29ff-48b3-9e20-a89a6e1bf7ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FinancialStatementsPolicies" xlink:type="simple" xlink:href="fstr-20230331.xsd#FinancialStatementsPolicies"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/FinancialStatementsPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_5562053f-a61e-46a8-80f7-0a696667a27b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_c153fa29-6cd5-42c7-80f4-73c80f18e62e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_5562053f-a61e-46a8-80f7-0a696667a27b" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_c153fa29-6cd5-42c7-80f4-73c80f18e62e" 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-20230331.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_87f87816-9a0a-4191-bc52-cf8614e737f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_8d867a37-eb0e-4237-9085-c3da8f86aef3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_87f87816-9a0a-4191-bc52-cf8614e737f0" xlink:to="loc_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_8d867a37-eb0e-4237-9085-c3da8f86aef3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock_56bd91c5-36b2-4917-8655-3ea7a5814810" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_87f87816-9a0a-4191-bc52-cf8614e737f0" xlink:to="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock_56bd91c5-36b2-4917-8655-3ea7a5814810" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_2aeeffad-dcad-4dc6-b240-5ff1028448bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_87f87816-9a0a-4191-bc52-cf8614e737f0" xlink:to="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_2aeeffad-dcad-4dc6-b240-5ff1028448bd" 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-20230331.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_b1d63c6e-4c85-4cb7-9c59-93d4217804f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock_75a1de66-e02a-477c-a636-4f063c1fd5dd" xlink:href="fstr-20230331.xsd#fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b1d63c6e-4c85-4cb7-9c59-93d4217804f9" xlink:to="loc_fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock_75a1de66-e02a-477c-a636-4f063c1fd5dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_96479ef7-a2d7-441b-b1db-9005ad2f69c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b1d63c6e-4c85-4cb7-9c59-93d4217804f9" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_96479ef7-a2d7-441b-b1db-9005ad2f69c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_283ad311-b93c-42f9-880f-5141bbe2660d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b1d63c6e-4c85-4cb7-9c59-93d4217804f9" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_283ad311-b93c-42f9-880f-5141bbe2660d" 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-20230331.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_0fa16def-5919-4d12-bf32-db0759bfcc14" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_cb11bfcf-6ef1-459e-a494-d8ae344d1b5d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0fa16def-5919-4d12-bf32-db0759bfcc14" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_cb11bfcf-6ef1-459e-a494-d8ae344d1b5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_76e3b920-be50-4a7c-8bfa-7c82091199fc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0fa16def-5919-4d12-bf32-db0759bfcc14" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_76e3b920-be50-4a7c-8bfa-7c82091199fc" 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-20230331.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_520f3c04-0ab8-48d0-9d61-a6b94536ed3c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_e1e57a40-32dd-4e2a-89b0-6a7245c3915c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_520f3c04-0ab8-48d0-9d61-a6b94536ed3c" xlink:to="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_e1e57a40-32dd-4e2a-89b0-6a7245c3915c" 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-20230331.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_eb47df7c-c04a-4d4d-a886-24519e332b2b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5e986536-69a0-42cc-afcf-e7cefb596f6b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_eb47df7c-c04a-4d4d-a886-24519e332b2b" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5e986536-69a0-42cc-afcf-e7cefb596f6b" 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-20230331.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_f5d58ba6-a9f3-4d1a-818b-ef67adf59a41" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_c2ac9dcd-d7a3-4fbc-8b8c-6a3055639c99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_f5d58ba6-a9f3-4d1a-818b-ef67adf59a41" xlink:to="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_c2ac9dcd-d7a3-4fbc-8b8c-6a3055639c99" 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-20230331.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_afed1e66-8501-4602-9492-03c4a39e02eb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d5172a03-90b8-4d08-8d11-def8e02cf1cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_afed1e66-8501-4602-9492-03c4a39e02eb" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d5172a03-90b8-4d08-8d11-def8e02cf1cc" 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-20230331.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_98ef4f1b-f39c-4cf1-9e24-8e21eb7aaf9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_3cc24699-9851-45f2-8db8-a6a4019c8eae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_98ef4f1b-f39c-4cf1-9e24-8e21eb7aaf9a" xlink:to="loc_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_3cc24699-9851-45f2-8db8-a6a4019c8eae" 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-20230331.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_5c926351-fede-4b08-9ff7-1e72219208f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_e3253a78-2d83-494c-9734-f2f81af07489" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_5c926351-fede-4b08-9ff7-1e72219208f7" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_e3253a78-2d83-494c-9734-f2f81af07489" 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-20230331.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_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_4b85b796-133d-48de-9488-a22904f5f3ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_46a6a069-e975-411a-9175-19e667ae809e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_4b85b796-133d-48de-9488-a22904f5f3ed" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_46a6a069-e975-411a-9175-19e667ae809e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_46a6a069-e975-411a-9175-19e667ae809e" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_57c750f9-b80c-4c42-891a-18b7079cae23" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_4cefe0a1-e620-47a9-a2f6-f3c7e67a03d9" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_57c750f9-b80c-4c42-891a-18b7079cae23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_0c7801b7-8393-414f-9148-76300a542019" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_57c750f9-b80c-4c42-891a-18b7079cae23" xlink:to="loc_us-gaap_DomesticPlanMember_0c7801b7-8393-414f-9148-76300a542019" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_63dd7256-26b0-43b7-ab01-a2a7678f676e" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DomesticPlanMember_0c7801b7-8393-414f-9148-76300a542019" xlink:to="loc_country_US_63dd7256-26b0-43b7-ab01-a2a7678f676e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_4e307594-3816-4f07-b9de-7cc1abf0d211" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_57c750f9-b80c-4c42-891a-18b7079cae23" xlink:to="loc_us-gaap_ForeignPlanMember_4e307594-3816-4f07-b9de-7cc1abf0d211" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_25be786c-a43e-4abf-9f88-1ab931f8da7b" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_4e307594-3816-4f07-b9de-7cc1abf0d211" xlink:to="loc_country_GB_25be786c-a43e-4abf-9f88-1ab931f8da7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_9d085cf3-bc45-44bb-80ac-9a111807ea3d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_46a6a069-e975-411a-9175-19e667ae809e" xlink:to="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_9d085cf3-bc45-44bb-80ac-9a111807ea3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_ab07bafc-7873-40e0-8b2a-c790ebb85791" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_9d085cf3-bc45-44bb-80ac-9a111807ea3d" xlink:to="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_ab07bafc-7873-40e0-8b2a-c790ebb85791" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_b80122d3-355e-4c4c-be6f-f1be0e8df76e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_9d085cf3-bc45-44bb-80ac-9a111807ea3d" xlink:to="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_b80122d3-355e-4c4c-be6f-f1be0e8df76e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesTables" xlink:type="simple" xlink:href="fstr-20230331.xsd#CommitmentsandContingentLiabilitiesTables"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_9897f5e8-2a35-45fa-ba2c-ab7f7403a46a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock_44a8c812-bf84-4fd4-bdec-5a6e346a408d" xlink:href="fstr-20230331.xsd#fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_9897f5e8-2a35-45fa-ba2c-ab7f7403a46a" xlink:to="loc_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock_44a8c812-bf84-4fd4-bdec-5a6e346a408d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_0abad65f-6da9-413c-9631-e7e1a9ea577d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_0abad65f-6da9-413c-9631-e7e1a9ea577d" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_924755dd-63c2-43b6-a6be-aebc00ffa548" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_924755dd-63c2-43b6-a6be-aebc00ffa548" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_924755dd-63c2-43b6-a6be-aebc00ffa548" xlink:to="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_f4132a36-b754-496b-af7f-7b7cd2d0adca" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_f4132a36-b754-496b-af7f-7b7cd2d0adca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_475f7e01-fede-406a-b098-42857920f23d" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:to="loc_fstr_PrecastConcreteProductsMember_475f7e01-fede-406a-b098-42857920f23d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_c0153435-f7a1-4e06-84d4-1957b28e1760" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_4fb6fb58-ff1d-4918-b5ae-c8bc9cbec34d" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_c0153435-f7a1-4e06-84d4-1957b28e1760" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_6ccdf484-d78c-438d-82f9-dd0308d9f353" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:to="loc_srt_ConsolidationItemsAxis_6ccdf484-d78c-438d-82f9-dd0308d9f353" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_bde3e594-30a3-4725-ab10-e25bf3a73a5e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_6ccdf484-d78c-438d-82f9-dd0308d9f353" xlink:to="loc_srt_ConsolidationItemsDomain_bde3e594-30a3-4725-ab10-e25bf3a73a5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_defc5b29-bd07-4bb7-92e7-8c1ee4e9dfb6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_bde3e594-30a3-4725-ab10-e25bf3a73a5e" xlink:to="loc_us-gaap_OperatingSegmentsMember_defc5b29-bd07-4bb7-92e7-8c1ee4e9dfb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_94cea3d9-2c0c-4f6d-ad55-8046cfd37afd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_043863d0-fbea-48ff-8149-de4c21541944" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_94cea3d9-2c0c-4f6d-ad55-8046cfd37afd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_67bfff11-5397-4087-b256-a9102f7286d4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_94cea3d9-2c0c-4f6d-ad55-8046cfd37afd" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_67bfff11-5397-4087-b256-a9102f7286d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_9e74f976-ff2f-4bd9-bfd0-eceb463e3ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_94cea3d9-2c0c-4f6d-ad55-8046cfd37afd" xlink:to="loc_us-gaap_OperatingIncomeLoss_9e74f976-ff2f-4bd9-bfd0-eceb463e3ff1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_eedd1721-2aa7-48e5-902f-4921e55091df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_9dae3fc9-a57b-4967-9293-b5d6d8cbc8b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_eedd1721-2aa7-48e5-902f-4921e55091df" xlink:to="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_9dae3fc9-a57b-4967-9293-b5d6d8cbc8b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_069733ad-c528-489c-a5c0-9d6ff734c10f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_9dae3fc9-a57b-4967-9293-b5d6d8cbc8b1" xlink:to="loc_srt_ConsolidationItemsAxis_069733ad-c528-489c-a5c0-9d6ff734c10f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_b772f9eb-536d-414f-8e1d-33da62a7881f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_069733ad-c528-489c-a5c0-9d6ff734c10f" xlink:to="loc_srt_ConsolidationItemsDomain_b772f9eb-536d-414f-8e1d-33da62a7881f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_7f5df942-0171-49cf-8e26-11fe3b0ec743" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_b772f9eb-536d-414f-8e1d-33da62a7881f" xlink:to="loc_us-gaap_OperatingSegmentsMember_7f5df942-0171-49cf-8e26-11fe3b0ec743" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_9dae3fc9-a57b-4967-9293-b5d6d8cbc8b1" xlink:to="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_3cd81484-0e9a-4899-bd74-1931e7e314b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_OperatingIncomeLoss_3cd81484-0e9a-4899-bd74-1931e7e314b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_c959538b-7990-4ac5-8eb6-edcc0d2662e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_c959538b-7990-4ac5-8eb6-edcc0d2662e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_8824197a-7798-4ba4-837a-4549a7a295af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_8824197a-7798-4ba4-837a-4549a7a295af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CorporateExpenseAndOtherUnallocatedCharges_7fa050a4-0c6d-4192-b09b-4bbd60756352" xlink:href="fstr-20230331.xsd#fstr_CorporateExpenseAndOtherUnallocatedCharges"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_fstr_CorporateExpenseAndOtherUnallocatedCharges_7fa050a4-0c6d-4192-b09b-4bbd60756352" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f419789d-5cda-4984-b00d-5b446e1bc0cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_9ffa647c-83df-4507-8966-b30f1706e5f8" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f419789d-5cda-4984-b00d-5b446e1bc0cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_c4b7dc16-554b-41eb-b6ff-543174612a25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_c4b7dc16-554b-41eb-b6ff-543174612a25" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_80df7f49-645b-4d8f-b28e-750e5261022b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:to="loc_srt_ConsolidationItemsAxis_80df7f49-645b-4d8f-b28e-750e5261022b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_da2684f7-c052-4324-a25c-c9d4b0f8e062" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_80df7f49-645b-4d8f-b28e-750e5261022b" xlink:to="loc_srt_ConsolidationItemsDomain_da2684f7-c052-4324-a25c-c9d4b0f8e062" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_05923920-ff72-4192-a624-4156340efe23" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_da2684f7-c052-4324-a25c-c9d4b0f8e062" xlink:to="loc_us-gaap_OperatingSegmentsMember_05923920-ff72-4192-a624-4156340efe23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_53b2b907-5818-4c07-b804-6d0e5ad4f6f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_da2684f7-c052-4324-a25c-c9d4b0f8e062" xlink:to="loc_us-gaap_CorporateNonSegmentMember_53b2b907-5818-4c07-b804-6d0e5ad4f6f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_44294937-7da0-4eda-900c-6e5f95850271" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_44294937-7da0-4eda-900c-6e5f95850271" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_44294937-7da0-4eda-900c-6e5f95850271" xlink:to="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_9699af7c-e0b7-45b8-a276-61be5eab78c5" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_9699af7c-e0b7-45b8-a276-61be5eab78c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_71b5ee90-8808-4169-9c51-74dc640c2fa6" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:to="loc_fstr_PrecastConcreteProductsMember_71b5ee90-8808-4169-9c51-74dc640c2fa6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_822477d2-eb38-4fbc-bf33-a28fe1807998" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_1eb6d35c-315a-4b7d-8918-7451f37fe79a" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_822477d2-eb38-4fbc-bf33-a28fe1807998" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_92d6d18e-301d-40bb-825e-cd39def0e270" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_14501b3a-7ba8-4d80-965a-82890dce95dd" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_92d6d18e-301d-40bb-825e-cd39def0e270" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_efd62c07-97af-40b4-9228-bb3e7f00f362" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_92d6d18e-301d-40bb-825e-cd39def0e270" xlink:to="loc_us-gaap_Assets_efd62c07-97af-40b4-9228-bb3e7f00f362" 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-20230331.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_52bc1c1a-42c1-4cad-8a3c-7c12ff161c34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_391dcb4d-c208-4d4e-ac61-f41bbc1508ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_52bc1c1a-42c1-4cad-8a3c-7c12ff161c34" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_391dcb4d-c208-4d4e-ac61-f41bbc1508ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis_9c34f7cb-ed5d-4f05-809a-78dc2e63158d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_391dcb4d-c208-4d4e-ac61-f41bbc1508ec" xlink:to="loc_dei_LegalEntityAxis_9c34f7cb-ed5d-4f05-809a-78dc2e63158d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_126faf3c-6ffc-48d9-ba04-dcf3b684dedd" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_9c34f7cb-ed5d-4f05-809a-78dc2e63158d" xlink:to="loc_dei_EntityDomain_126faf3c-6ffc-48d9-ba04-dcf3b684dedd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ChemtecEnergyServicesLLCMember_26be808c-a8db-4af9-bd44-e8c4ef40a68b" xlink:href="fstr-20230331.xsd#fstr_ChemtecEnergyServicesLLCMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityDomain_126faf3c-6ffc-48d9-ba04-dcf3b684dedd" xlink:to="loc_fstr_ChemtecEnergyServicesLLCMember_26be808c-a8db-4af9-bd44-e8c4ef40a68b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_02c6a18f-bb88-4779-97b4-4690424e46ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_391dcb4d-c208-4d4e-ac61-f41bbc1508ec" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_02c6a18f-bb88-4779-97b4-4690424e46ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinesses_9970fbf2-0eac-4de3-b9f7-ad1070b6c95d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromDivestitureOfBusinesses"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_02c6a18f-bb88-4779-97b4-4690424e46ee" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinesses_9970fbf2-0eac-4de3-b9f7-ad1070b6c95d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_17183598-2ba3-4e79-aa9f-911f7ecd3bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_02c6a18f-bb88-4779-97b4-4690424e46ee" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_17183598-2ba3-4e79-aa9f-911f7ecd3bd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueSalesbyMajorProductLineDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c3f5c816-3811-4080-b363-17bd0c476b83" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c3f5c816-3811-4080-b363-17bd0c476b83" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_473af04a-7983-403a-8c2a-911ddff08bed" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:to="loc_srt_ProductOrServiceAxis_473af04a-7983-403a-8c2a-911ddff08bed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_473af04a-7983-403a-8c2a-911ddff08bed" xlink:to="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailProductsAndFrictionManagementMember_aa9bb579-755a-4beb-a966-ee195317123b" xlink:href="fstr-20230331.xsd#fstr_RailProductsAndFrictionManagementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_RailProductsAndFrictionManagementMember_aa9bb579-755a-4beb-a966-ee195317123b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesProductsMember_cfe2f75f-c745-4cc6-90d6-0345be1b0736" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_RailTechnologiesProductsMember_cfe2f75f-c745-4cc6-90d6-0345be1b0736" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteBuildingsMember_8f2d4493-5bc5-477c-9de3-6bafdacc5dab" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteBuildingsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_PrecastConcreteBuildingsMember_8f2d4493-5bc5-477c-9de3-6bafdacc5dab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OtherPrecastConcreteProductsMember_388c9ace-8f9f-4ab3-a0e9-a166485ccfae" xlink:href="fstr-20230331.xsd#fstr_OtherPrecastConcreteProductsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_OtherPrecastConcreteProductsMember_388c9ace-8f9f-4ab3-a0e9-a166485ccfae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FabricatedSteelProductsMember_ec3d5f87-4249-4b24-90ba-4a4a00da25f1" xlink:href="fstr-20230331.xsd#fstr_FabricatedSteelProductsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_FabricatedSteelProductsMember_ec3d5f87-4249-4b24-90ba-4a4a00da25f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_CoatingsAndMeasurementMember_2666ca4d-3edf-4682-ade4-6917aa968696" xlink:href="fstr-20230331.xsd#fstr_CoatingsAndMeasurementMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_1e683e72-a8ab-4f38-a6f4-2ce2b8e0862f" xlink:to="loc_fstr_CoatingsAndMeasurementMember_2666ca4d-3edf-4682-ade4-6917aa968696" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_951c706a-b8ae-4c89-88cf-2d3f47d7dee9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_951c706a-b8ae-4c89-88cf-2d3f47d7dee9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_951c706a-b8ae-4c89-88cf-2d3f47d7dee9" xlink:to="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_976d7585-aecc-4483-b4d1-33a9a51d7549" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_976d7585-aecc-4483-b4d1-33a9a51d7549" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_2e13098e-499b-43e3-b715-61ce7fbe15ca" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:to="loc_fstr_PrecastConcreteProductsMember_2e13098e-499b-43e3-b715-61ce7fbe15ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_40533e77-0481-49b7-b484-d5eab68c6d5b" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_f477d06a-7603-478b-851f-df19db8c612e" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_40533e77-0481-49b7-b484-d5eab68c6d5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_a21e5e42-6eb6-4b72-9866-26a0ae52016d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_ac61c30d-2ba3-4999-97d6-fb512bc32081" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_a21e5e42-6eb6-4b72-9866-26a0ae52016d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_b2ab8af5-f741-4195-8542-6e82493e40ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a21e5e42-6eb6-4b72-9866-26a0ae52016d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_b2ab8af5-f741-4195-8542-6e82493e40ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueTimingofTransferDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueTimingofTransferDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueTimingofTransferDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4f2db66c-4d81-4c54-9bc1-09a93c7df41b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4f2db66c-4d81-4c54-9bc1-09a93c7df41b" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_bfe8e633-034e-45e6-8764-0bb54dd44c4a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_bfe8e633-034e-45e6-8764-0bb54dd44c4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_bfe8e633-034e-45e6-8764-0bb54dd44c4a" xlink:to="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_2ef7d89a-294c-4abd-ba87-6fa085285adf" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_2ef7d89a-294c-4abd-ba87-6fa085285adf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_3b692d43-4521-4f3f-9f86-0afcb9f18ef5" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:to="loc_fstr_PrecastConcreteProductsMember_3b692d43-4521-4f3f-9f86-0afcb9f18ef5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_453fbc5b-803a-4e8a-9765-d19557ef84aa" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_f6bc3506-5a37-4f6d-bb6d-3beed4e594b3" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_453fbc5b-803a-4e8a-9765-d19557ef84aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_07038ba6-c021-4b5b-a39e-00eb6a7223b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_07038ba6-c021-4b5b-a39e-00eb6a7223b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_77b98523-a7a9-4083-bea6-71a7b7465d08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_07038ba6-c021-4b5b-a39e-00eb6a7223b1" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_77b98523-a7a9-4083-bea6-71a7b7465d08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_1a646c3f-bb7f-47f6-8d5c-7f8d88b683ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_77b98523-a7a9-4083-bea6-71a7b7465d08" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_1a646c3f-bb7f-47f6-8d5c-7f8d88b683ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_fa4b77a9-ed3f-4be0-a95d-13d1346c3388" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_77b98523-a7a9-4083-bea6-71a7b7465d08" xlink:to="loc_us-gaap_TransferredOverTimeMember_fa4b77a9-ed3f-4be0-a95d-13d1346c3388" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_b3185862-0ba4-4030-99d4-4c514b7e5a52" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_5458fbc2-ef17-4a7f-979c-e07a3275b7e1" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_b3185862-0ba4-4030-99d4-4c514b7e5a52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_ece71195-9690-4b02-89fd-e88d09a24761" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b3185862-0ba4-4030-99d4-4c514b7e5a52" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_ece71195-9690-4b02-89fd-e88d09a24761" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueOverTimeSalesDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueOverTimeSalesDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueOverTimeSalesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a25f6163-f8bf-4102-b747-968dada70c00" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_41c4965a-efc4-48db-bf32-0b893aea4363" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a25f6163-f8bf-4102-b747-968dada70c00" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_41c4965a-efc4-48db-bf32-0b893aea4363" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_223bdd0c-9a93-439e-bcc7-782fec936417" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_41c4965a-efc4-48db-bf32-0b893aea4363" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_223bdd0c-9a93-439e-bcc7-782fec936417" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a6c43283-8d64-4db2-a0d0-3f3f1b2788e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_223bdd0c-9a93-439e-bcc7-782fec936417" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a6c43283-8d64-4db2-a0d0-3f3f1b2788e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeInputMethodMember_cc355fc3-ade7-4551-938e-5f416f220fe1" xlink:href="fstr-20230331.xsd#fstr_OverTimeInputMethodMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a6c43283-8d64-4db2-a0d0-3f3f1b2788e3" xlink:to="loc_fstr_OverTimeInputMethodMember_cc355fc3-ade7-4551-938e-5f416f220fe1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeOutputMethodMember_28a75708-5428-47d9-89f4-29c1aa05ccdd" xlink:href="fstr-20230331.xsd#fstr_OverTimeOutputMethodMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a6c43283-8d64-4db2-a0d0-3f3f1b2788e3" xlink:to="loc_fstr_OverTimeOutputMethodMember_28a75708-5428-47d9-89f4-29c1aa05ccdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_6e043cb4-42ac-452d-b243-316067db107d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_41c4965a-efc4-48db-bf32-0b893aea4363" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_6e043cb4-42ac-452d-b243-316067db107d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesAmount_96e4e6d0-9faf-4b23-8554-e65487bb209c" xlink:href="fstr-20230331.xsd#fstr_OverTimeSalesAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6e043cb4-42ac-452d-b243-316067db107d" xlink:to="loc_fstr_OverTimeSalesAmount_96e4e6d0-9faf-4b23-8554-e65487bb209c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_OverTimeSalesPercent_d5ab15fe-36dd-4c1e-add0-0e383d0fe1c5" xlink:href="fstr-20230331.xsd#fstr_OverTimeSalesPercent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6e043cb4-42ac-452d-b243-316067db107d" xlink:to="loc_fstr_OverTimeSalesPercent_d5ab15fe-36dd-4c1e-add0-0e383d0fe1c5" 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-20230331.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_627f9788-a364-46c0-8408-0f212e2d60e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_15795019-2887-4323-9069-99ee861e97c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_627f9788-a364-46c0-8408-0f212e2d60e0" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_15795019-2887-4323-9069-99ee861e97c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_0e1a666d-4344-4e5b-8be8-5405e8e67bc2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_627f9788-a364-46c0-8408-0f212e2d60e0" xlink:to="loc_us-gaap_ContractWithCustomerLiability_0e1a666d-4344-4e5b-8be8-5405e8e67bc2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_5a91c3e6-ddcc-4f26-8efa-9ed2113e1860" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_627f9788-a364-46c0-8408-0f212e2d60e0" xlink:to="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_5a91c3e6-ddcc-4f26-8efa-9ed2113e1860" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_e8704f21-504f-4f0e-b5dd-2fc0415580d2" xlink:href="fstr-20230331.xsd#fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_627f9788-a364-46c0-8408-0f212e2d60e0" xlink:to="loc_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_e8704f21-504f-4f0e-b5dd-2fc0415580d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_d93a9e74-7572-431c-8fc4-1fc0d6b9fa9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_627f9788-a364-46c0-8408-0f212e2d60e0" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_d93a9e74-7572-431c-8fc4-1fc0d6b9fa9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueContractwithCustomerDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueContractwithCustomerDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_dbee6e45-9413-4260-8800-dd9691bdfb0e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_c8220960-9415-47b3-9b1c-3990b58258e6" xlink:href="fstr-20230331.xsd#fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_dbee6e45-9413-4260-8800-dd9691bdfb0e" xlink:to="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_c8220960-9415-47b3-9b1c-3990b58258e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_f5556577-8eb5-4be4-b554-97430247cb80" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_c8220960-9415-47b3-9b1c-3990b58258e6" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_f5556577-8eb5-4be4-b554-97430247cb80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerAssetAdditions_946c1c9b-c64c-4431-9717-8e5a966bf15f" xlink:href="fstr-20230331.xsd#fstr_ContractWithCustomerAssetAdditions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_c8220960-9415-47b3-9b1c-3990b58258e6" xlink:to="loc_fstr_ContractWithCustomerAssetAdditions_946c1c9b-c64c-4431-9717-8e5a966bf15f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_1880b616-81a2-4b36-b9ff-748b4b059469" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_c8220960-9415-47b3-9b1c-3990b58258e6" xlink:to="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_1880b616-81a2-4b36-b9ff-748b4b059469" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_06de4ead-6526-4e31-90e9-bfeb7e8a9c24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward_c8220960-9415-47b3-9b1c-3990b58258e6" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_06de4ead-6526-4e31-90e9-bfeb7e8a9c24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityRollForward_e983824c-c468-45ad-b4ba-c1bf817b3d56" xlink:href="fstr-20230331.xsd#fstr_ContractWithCustomerLiabilityRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_dbee6e45-9413-4260-8800-dd9691bdfb0e" xlink:to="loc_fstr_ContractWithCustomerLiabilityRollForward_e983824c-c468-45ad-b4ba-c1bf817b3d56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_ad5a7ea7-4fe7-45b8-a374-10cb0c32ba1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_e983824c-c468-45ad-b4ba-c1bf817b3d56" xlink:to="loc_us-gaap_ContractWithCustomerLiability_ad5a7ea7-4fe7-45b8-a374-10cb0c32ba1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_358502fd-53e2-4558-8914-197ca19b04c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_e983824c-c468-45ad-b4ba-c1bf817b3d56" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_358502fd-53e2-4558-8914-197ca19b04c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_c611dd0f-5d86-4b79-873d-280714b97be8" xlink:href="fstr-20230331.xsd#fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_e983824c-c468-45ad-b4ba-c1bf817b3d56" xlink:to="loc_fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts_c611dd0f-5d86-4b79-873d-280714b97be8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ContractWithCustomerLiabilityOtherAdjustments_d24d782f-2d1e-4e50-8c7b-8d9bb9ec9b53" xlink:href="fstr-20230331.xsd#fstr_ContractWithCustomerLiabilityOtherAdjustments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_e983824c-c468-45ad-b4ba-c1bf817b3d56" xlink:to="loc_fstr_ContractWithCustomerLiabilityOtherAdjustments_d24d782f-2d1e-4e50-8c7b-8d9bb9ec9b53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_478b8268-6e21-4ccb-8e40-d8ea8270ee39" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fstr_ContractWithCustomerLiabilityRollForward_e983824c-c468-45ad-b4ba-c1bf817b3d56" xlink:to="loc_us-gaap_ContractWithCustomerLiability_478b8268-6e21-4ccb-8e40-d8ea8270ee39" 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-20230331.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_3d4d7d81-b984-4d72-acf6-32af4e6139e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_17a38fc4-fccc-4aa5-a111-b5b3d6b6f845" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_3d4d7d81-b984-4d72-acf6-32af4e6139e1" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_17a38fc4-fccc-4aa5-a111-b5b3d6b6f845" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_3d4d7d81-b984-4d72-acf6-32af4e6139e1" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_0172647d-9dbb-40d2-87a0-aac8e6857de7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_0172647d-9dbb-40d2-87a0-aac8e6857de7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_907deef9-6a06-42d1-9e17-b2658cffce1a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_26e9409d-77bc-4f62-95bd-b1b549e34e25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_26e9409d-77bc-4f62-95bd-b1b549e34e25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8604e681-192b-43f9-a6ce-750e7ec3bacf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_041faf98-d590-410d-a2f1-a1bb9cd701b6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8604e681-192b-43f9-a6ce-750e7ec3bacf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="simple" xlink:href="fstr-20230331.xsd#RevenueRemainingPerformanceObligationDetails_1"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" xlink:type="simple" xlink:href="fstr-20230331.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_7f04b51b-fd35-40e0-9948-3cb08ed2242d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_80b99915-3d45-4995-99b9-8eca9bcac2a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_7f04b51b-fd35-40e0-9948-3cb08ed2242d" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_80b99915-3d45-4995-99b9-8eca9bcac2a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_1c69dc1b-2820-4106-97e0-74074b0a6201" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_80b99915-3d45-4995-99b9-8eca9bcac2a4" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_1c69dc1b-2820-4106-97e0-74074b0a6201" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_1c69dc1b-2820-4106-97e0-74074b0a6201" xlink:to="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RailTechnologiesAndServicesSegmentMember_2439514d-6a90-412a-a3e2-8551ad3e5441" xlink:href="fstr-20230331.xsd#fstr_RailTechnologiesAndServicesSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:to="loc_fstr_RailTechnologiesAndServicesSegmentMember_2439514d-6a90-412a-a3e2-8551ad3e5441" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PrecastConcreteProductsMember_6ffc4e7d-24ad-4ff8-8f5b-2e1f26c49ae4" xlink:href="fstr-20230331.xsd#fstr_PrecastConcreteProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:to="loc_fstr_PrecastConcreteProductsMember_6ffc4e7d-24ad-4ff8-8f5b-2e1f26c49ae4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_SteelProductsAndMeasurementMember_272f5177-5783-46f1-8cd2-6b2b3f235696" xlink:href="fstr-20230331.xsd#fstr_SteelProductsAndMeasurementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_04624240-b043-45d6-9feb-4cb5205c5bf0" xlink:to="loc_fstr_SteelProductsAndMeasurementMember_272f5177-5783-46f1-8cd2-6b2b3f235696" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_3ce9b382-56da-4e89-a15c-2381cd24ff3c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_80b99915-3d45-4995-99b9-8eca9bcac2a4" xlink:to="loc_us-gaap_GoodwillLineItems_3ce9b382-56da-4e89-a15c-2381cd24ff3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_3ce9b382-56da-4e89-a15c-2381cd24ff3c" xlink:to="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_4ff31ad9-543b-4aca-abbd-e3d724c938fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:to="loc_us-gaap_Goodwill_4ff31ad9-543b-4aca-abbd-e3d724c938fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_f275cb6b-8150-4301-aeac-7861ee728930" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_f275cb6b-8150-4301-aeac-7861ee728930" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_99dfd963-f02b-4b6d-abc6-89f6678cf760" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_86e115fb-118d-4596-9c3f-a19a3c91d40b" xlink:to="loc_us-gaap_Goodwill_99dfd963-f02b-4b6d-abc6-89f6678cf760" 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-20230331.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_aeb77caf-1602-4f35-954c-cb16601b9b47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_aeb77caf-1602-4f35-954c-cb16601b9b47" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_026379ac-789b-46de-8f1e-95d30678a50a" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:to="loc_srt_RangeAxis_026379ac-789b-46de-8f1e-95d30678a50a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_b677261d-0cfe-4995-a95b-019ae66ba6ba" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_026379ac-789b-46de-8f1e-95d30678a50a" xlink:to="loc_srt_RangeMember_b677261d-0cfe-4995-a95b-019ae66ba6ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember_5298fecb-cc09-49fa-9124-b268e7c005bf" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_WeightedAverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_b677261d-0cfe-4995-a95b-019ae66ba6ba" xlink:to="loc_srt_WeightedAverageMember_5298fecb-cc09-49fa-9124-b268e7c005bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_52ea46e1-790d-48b8-9cb1-9bc2f7060bd8" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_01084b5e-da4d-477d-acb0-72e5be8fbcba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_01084b5e-da4d-477d-acb0-72e5be8fbcba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_13bc0f16-f73c-4ee1-bf42-f01f4105178c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PatentsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_PatentsMember_13bc0f16-f73c-4ee1-bf42-f01f4105178c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_d0722509-d9c0-4af2-a079-d822748ec130" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_CustomerRelationshipsMember_d0722509-d9c0-4af2-a079-d822748ec130" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_b76d1fe8-6d70-418d-a1ca-d7481eed797a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_b76d1fe8-6d70-418d-a1ca-d7481eed797a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_330ccf78-8708-4e60-9952-e689a8d35727" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_330ccf78-8708-4e60-9952-e689a8d35727" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffMarketFavorableLeaseMember_8d8e91f7-f1f9-4982-a2c6-f1d740048ee8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffMarketFavorableLeaseMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1f2fc005-3c1c-419b-8720-eceb07cac9ce" xlink:to="loc_us-gaap_OffMarketFavorableLeaseMember_8d8e91f7-f1f9-4982-a2c6-f1d740048ee8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_75cb149f-3884-4401-b0e6-b377240b9c58" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_8bf81d5c-e4be-4f9d-9afa-b3503a927847" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_8bf81d5c-e4be-4f9d-9afa-b3503a927847" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a255769e-17b6-40e1-8528-a953e2e25791" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a255769e-17b6-40e1-8528-a953e2e25791" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_f8b59207-1cc0-45e4-81b7-4615cf3adda9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_f8b59207-1cc0-45e4-81b7-4615cf3adda9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_f1c0656c-09e7-4a68-99e3-d9404a40b0d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_aeb734ed-5b6a-4789-a095-321c05caf171" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_f1c0656c-09e7-4a68-99e3-d9404a40b0d2" 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-20230331.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_3754f877-e89c-481d-9ba3-80b9d6c5c4ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_f8ca3be8-6fa3-4271-953d-0232c8e564ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_3754f877-e89c-481d-9ba3-80b9d6c5c4ab" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_f8ca3be8-6fa3-4271-953d-0232c8e564ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_f8ca3be8-6fa3-4271-953d-0232c8e564ee" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_960fec14-ad4b-43c7-8086-583dfaffb666" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_78fdec5e-3069-4a8a-8fa2-ceaa99b51bb8" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_960fec14-ad4b-43c7-8086-583dfaffb666" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_0903103d-379b-4b19-af26-cf46b544c889" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_960fec14-ad4b-43c7-8086-583dfaffb666" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_0903103d-379b-4b19-af26-cf46b544c889" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_d1dbc3c1-7d36-4f11-bb7d-fcd5a9b07fe6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable_f8ca3be8-6fa3-4271-953d-0232c8e564ee" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_d1dbc3c1-7d36-4f11-bb7d-fcd5a9b07fe6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_b8183971-ff8c-4817-aeed-895aa54aa8dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems_d1dbc3c1-7d36-4f11-bb7d-fcd5a9b07fe6" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_b8183971-ff8c-4817-aeed-895aa54aa8dd" 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-20230331.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_9140015c-88c9-4299-8287-6062eea44717" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_90efe867-66d9-4e09-83c9-a741c07568d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableAdditionalDisclosuresAbstract_9140015c-88c9-4299-8287-6062eea44717" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_90efe867-66d9-4e09-83c9-a741c07568d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_f20b64f4-e7e5-4123-abc5-48af3e92dc0b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_90efe867-66d9-4e09-83c9-a741c07568d5" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_f20b64f4-e7e5-4123-abc5-48af3e92dc0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_ac6c0991-bd7b-412d-a250-278ba7b96dec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_90efe867-66d9-4e09-83c9-a741c07568d5" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_ac6c0991-bd7b-412d-a250-278ba7b96dec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_b590a0b7-c3dc-489d-a7c8-9741b1642830" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_90efe867-66d9-4e09-83c9-a741c07568d5" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_b590a0b7-c3dc-489d-a7c8-9741b1642830" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_ea893074-d25b-495a-9c0b-8e451c21f1ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_90efe867-66d9-4e09-83c9-a741c07568d5" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_ea893074-d25b-495a-9c0b-8e451c21f1ef" 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-20230331.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_6694cc5d-75aa-4fa3-a587-16430d937118" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_f706e8e0-18b3-4bcb-8416-a65a2c15e6d0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_6694cc5d-75aa-4fa3-a587-16430d937118" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_f706e8e0-18b3-4bcb-8416-a65a2c15e6d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_9f689a3b-280f-44ac-a602-481b3204c5aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_6694cc5d-75aa-4fa3-a587-16430d937118" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_9f689a3b-280f-44ac-a602-481b3204c5aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_cc339b42-a77d-4cb3-a19e-c04c52017c0a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_6694cc5d-75aa-4fa3-a587-16430d937118" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_cc339b42-a77d-4cb3-a19e-c04c52017c0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_d5c6c88a-8919-440a-9319-d3a19fad9570" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_6694cc5d-75aa-4fa3-a587-16430d937118" xlink:to="loc_us-gaap_InventoryNet_d5c6c88a-8919-440a-9319-d3a19fad9570" 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-20230331.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_29531847-7674-4d3f-892d-9a7d41109645" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_4afe2bfa-5d20-480c-93b2-fdf041b75b71" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_29531847-7674-4d3f-892d-9a7d41109645" xlink:to="loc_us-gaap_LineOfCredit_4afe2bfa-5d20-480c-93b2-fdf041b75b71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_46eeecb8-17c3-4609-9603-3c43babc04be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_29531847-7674-4d3f-892d-9a7d41109645" xlink:to="loc_us-gaap_FinanceLeaseLiability_46eeecb8-17c3-4609-9603-3c43babc04be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtAndCapitalLeaseObligations_739691fa-ab53-4a9a-af7d-0d5672096863" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtAndCapitalLeaseObligations"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_29531847-7674-4d3f-892d-9a7d41109645" xlink:to="loc_us-gaap_DebtAndCapitalLeaseObligations_739691fa-ab53-4a9a-af7d-0d5672096863" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_b2a6233e-403b-4d0a-a643-8b78d4130453" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_29531847-7674-4d3f-892d-9a7d41109645" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_b2a6233e-403b-4d0a-a643-8b78d4130453" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_7c245bb3-7f76-4379-a36b-c5ef33565062" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_29531847-7674-4d3f-892d-9a7d41109645" xlink:to="loc_us-gaap_LongTermDebtAndCapitalLeaseObligations_7c245bb3-7f76-4379-a36b-c5ef33565062" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1" xlink:type="simple" xlink:href="fstr-20230331.xsd#LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.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_2539fb34-5a3f-4324-99b6-01a0901efc3f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_2539fb34-5a3f-4324-99b6-01a0901efc3f" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_9ed0940a-d279-4f8b-89e2-0a51e24d588d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_9ed0940a-d279-4f8b-89e2-0a51e24d588d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_d4f2d70c-3e41-46d5-88f5-35cab85cae9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_9ed0940a-d279-4f8b-89e2-0a51e24d588d" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_d4f2d70c-3e41-46d5-88f5-35cab85cae9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember_cdd48415-558f-4c0b-9faf-a521380d581b" xlink:href="fstr-20230331.xsd#fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain_d4f2d70c-3e41-46d5-88f5-35cab85cae9a" xlink:to="loc_fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember_cdd48415-558f-4c0b-9faf-a521380d581b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_65fc1710-4919-4fc4-b4c3-40851ad5c78e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_CreditFacilityAxis_65fc1710-4919-4fc4-b4c3-40851ad5c78e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_a9073fc2-aacf-4cc6-9c48-42516f7b2a6c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_65fc1710-4919-4fc4-b4c3-40851ad5c78e" xlink:to="loc_us-gaap_CreditFacilityDomain_a9073fc2-aacf-4cc6-9c48-42516f7b2a6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_23e50f2f-92c0-463b-b538-3971fb8fe2a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_a9073fc2-aacf-4cc6-9c48-42516f7b2a6c" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_23e50f2f-92c0-463b-b538-3971fb8fe2a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_514f2f70-5918-443c-93fb-1b25ce22b068" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_DebtInstrumentAxis_514f2f70-5918-443c-93fb-1b25ce22b068" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_9cc6a7a5-af18-4e60-9c0a-22d28acb29a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_514f2f70-5918-443c-93fb-1b25ce22b068" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_9cc6a7a5-af18-4e60-9c0a-22d28acb29a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_FourthAmendedAndRestatedCreditAgreementMember_2522ab8a-0554-4317-8d67-c06cea5def5b" xlink:href="fstr-20230331.xsd#fstr_FourthAmendedAndRestatedCreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_9cc6a7a5-af18-4e60-9c0a-22d28acb29a2" xlink:to="loc_fstr_FourthAmendedAndRestatedCreditAgreementMember_2522ab8a-0554-4317-8d67-c06cea5def5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PriorCreditFacilityMember_034e0de6-5c25-4d24-add8-1813f18bf8e9" xlink:href="fstr-20230331.xsd#fstr_PriorCreditFacilityMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_9cc6a7a5-af18-4e60-9c0a-22d28acb29a2" xlink:to="loc_fstr_PriorCreditFacilityMember_034e0de6-5c25-4d24-add8-1813f18bf8e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_ba67baf2-7115-4361-8abb-e646751e4a05" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_ba67baf2-7115-4361-8abb-e646751e4a05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ed88f18d-6c4b-4106-8ab4-896df9f03d16" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_ba67baf2-7115-4361-8abb-e646751e4a05" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ed88f18d-6c4b-4106-8ab4-896df9f03d16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_b44c4ae8-fe69-4be7-a891-85a3a0a2e2be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ed88f18d-6c4b-4106-8ab4-896df9f03d16" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_b44c4ae8-fe69-4be7-a891-85a3a0a2e2be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_1261f90e-2555-4be3-9b80-6624525522ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_ed88f18d-6c4b-4106-8ab4-896df9f03d16" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_1261f90e-2555-4be3-9b80-6624525522ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_57ebde5e-9ddd-445b-b05a-457f33e816cf" xlink:to="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm_2e39f6b5-441c-4bc2-aaa1-02334c7247bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_DebtInstrumentTerm_2e39f6b5-441c-4bc2-aaa1-02334c7247bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d4f71d33-33a2-4f4c-86c9-110565bd4272" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d4f71d33-33a2-4f4c-86c9-110565bd4272" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_91c45712-8412-4184-bb3c-34e624f8efb5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet_91c45712-8412-4184-bb3c-34e624f8efb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption_c77eba43-5e11-444c-82e7-ffa01ccd6e4b" xlink:href="fstr-20230331.xsd#fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption_c77eba43-5e11-444c-82e7-ffa01ccd6e4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments_77b91a6e-7882-401e-baf9-f41d97a34efc" xlink:href="fstr-20230331.xsd#fstr_LineOfCreditFacilityMaximumIncreaseInCommitments"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments_77b91a6e-7882-401e-baf9-f41d97a34efc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentNumberOfFinancialCovenants_13d0f22a-92ff-4c60-88f3-bfd238d9f26e" xlink:href="fstr-20230331.xsd#fstr_DebtInstrumentNumberOfFinancialCovenants"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_DebtInstrumentNumberOfFinancialCovenants_13d0f22a-92ff-4c60-88f3-bfd238d9f26e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum_2bff18dd-ff67-4b67-be66-6bb8fe8bc0c0" xlink:href="fstr-20230331.xsd#fstr_DebtInstrumentCovenantLeverageRatioMaximum"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_DebtInstrumentCovenantLeverageRatioMaximum_2bff18dd-ff67-4b67-be66-6bb8fe8bc0c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_672ad74a-d9f8-49fc-a47e-58f4068602ba" xlink:href="fstr-20230331.xsd#fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum_672ad74a-d9f8-49fc-a47e-58f4068602ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_19044f25-68a8-4139-a649-0f2bc72d21bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_740bf85f-d4a8-4763-af36-c235afb55617" xlink:to="loc_us-gaap_LineOfCredit_19044f25-68a8-4139-a649-0f2bc72d21bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_c096513f-c234-4260-947f-86ebfd505627" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAbstract_d501531c-9e5f-4a68-91fa-892fc8ee448d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_c096513f-c234-4260-947f-86ebfd505627" xlink:to="loc_us-gaap_NetIncomeLossAbstract_d501531c-9e5f-4a68-91fa-892fc8ee448d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_83365aa9-3d1a-4363-8995-b29ac6046a08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAbstract_d501531c-9e5f-4a68-91fa-892fc8ee448d" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest_83365aa9-3d1a-4363-8995-b29ac6046a08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b52ea79e-5aec-4286-ab90-a0dfd00682f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAbstract_d501531c-9e5f-4a68-91fa-892fc8ee448d" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b52ea79e-5aec-4286-ab90-a0dfd00682f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_c0309512-938f-4e5a-8ae3-2023328d572f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b52ea79e-5aec-4286-ab90-a0dfd00682f4" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_c0309512-938f-4e5a-8ae3-2023328d572f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_815dea52-6ea3-440b-b298-96b912a7d1d4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b52ea79e-5aec-4286-ab90-a0dfd00682f4" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_815dea52-6ea3-440b-b298-96b912a7d1d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_c0b3fb27-2951-4444-863c-f27a50d600a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b52ea79e-5aec-4286-ab90-a0dfd00682f4" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_c0b3fb27-2951-4444-863c-f27a50d600a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bef34dbe-105e-4a68-94f7-1ca8078ea938" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract_c0b3fb27-2951-4444-863c-f27a50d600a9" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bef34dbe-105e-4a68-94f7-1ca8078ea938" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_7b166863-4096-4d7c-a863-bdfd6d22ed62" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b52ea79e-5aec-4286-ab90-a0dfd00682f4" xlink:to="loc_us-gaap_EarningsPerShareBasic_7b166863-4096-4d7c-a863-bdfd6d22ed62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_33af1176-e35a-4e27-b238-38a8775d40ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b52ea79e-5aec-4286-ab90-a0dfd00682f4" xlink:to="loc_us-gaap_EarningsPerShareDiluted_33af1176-e35a-4e27-b238-38a8775d40ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_0147a819-ecbb-4501-93b5-d767d453cd65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_c096513f-c234-4260-947f-86ebfd505627" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_0147a819-ecbb-4501-93b5-d767d453cd65" 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-20230331.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_24b74152-39df-44b6-91b2-cfa691b0b5dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_ce52c1d1-6b1e-4ec7-a7d0-70a4eebfc166" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_24b74152-39df-44b6-91b2-cfa691b0b5dd" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_ce52c1d1-6b1e-4ec7-a7d0-70a4eebfc166" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5a41f729-509f-4e38-9b1e-ac66c5e6909f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_24b74152-39df-44b6-91b2-cfa691b0b5dd" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5a41f729-509f-4e38-9b1e-ac66c5e6909f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e469224a-e257-4d47-affe-a3ac9fce76ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_24b74152-39df-44b6-91b2-cfa691b0b5dd" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e469224a-e257-4d47-affe-a3ac9fce76ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.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_0f64e609-b522-4ec0-a841-5e3709cdb4eb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_0f64e609-b522-4ec0-a841-5e3709cdb4eb" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_16bff7cd-b954-4ead-b389-0412a89eece6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_us-gaap_AwardTypeAxis_16bff7cd-b954-4ead-b389-0412a89eece6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_521cd5f6-8927-437a-89cf-29c01de96788" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_16bff7cd-b954-4ead-b389-0412a89eece6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_521cd5f6-8927-437a-89cf-29c01de96788" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_50b54ed3-9ddd-4ef3-a4f3-8b6880206cb1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_521cd5f6-8927-437a-89cf-29c01de96788" xlink:to="loc_us-gaap_RestrictedStockMember_50b54ed3-9ddd-4ef3-a4f3-8b6880206cb1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_fea13491-d6e0-4c98-937c-8ce80a2780bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_521cd5f6-8927-437a-89cf-29c01de96788" xlink:to="loc_us-gaap_PerformanceSharesMember_fea13491-d6e0-4c98-937c-8ce80a2780bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_3445daf5-00f7-4d01-9c46-7163f51089c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_us-gaap_VestingAxis_3445daf5-00f7-4d01-9c46-7163f51089c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_b5ac56b3-5a3e-4428-add0-d38e48ed230e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_3445daf5-00f7-4d01-9c46-7163f51089c9" xlink:to="loc_us-gaap_VestingDomain_b5ac56b3-5a3e-4428-add0-d38e48ed230e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_c73f1ec2-becf-4fdb-9668-11a302c6aa1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_b5ac56b3-5a3e-4428-add0-d38e48ed230e" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_c73f1ec2-becf-4fdb-9668-11a302c6aa1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_b161ff2a-cc6e-4899-ad9e-3c377fdf0b0f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_b5ac56b3-5a3e-4428-add0-d38e48ed230e" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_b161ff2a-cc6e-4899-ad9e-3c377fdf0b0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_725fa8c0-c57c-410b-90e7-99dfe1a5bd87" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_srt_RangeAxis_725fa8c0-c57c-410b-90e7-99dfe1a5bd87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_0355b3d3-dfd3-4205-9b32-39678d3e1d9b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_725fa8c0-c57c-410b-90e7-99dfe1a5bd87" xlink:to="loc_srt_RangeMember_0355b3d3-dfd3-4205-9b32-39678d3e1d9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_5faa2871-8667-45be-a7f9-6f52cd955753" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_0355b3d3-dfd3-4205-9b32-39678d3e1d9b" xlink:to="loc_srt_MinimumMember_5faa2871-8667-45be-a7f9-6f52cd955753" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_c19dd49c-14c3-49b4-b455-c626196b470f" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_srt_TitleOfIndividualAxis_c19dd49c-14c3-49b4-b455-c626196b470f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_186123f9-ebbd-4466-a318-a2f583f4b77e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_c19dd49c-14c3-49b4-b455-c626196b470f" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_186123f9-ebbd-4466-a318-a2f583f4b77e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_DirectorMember_ef8429c9-9cc1-462e-8eae-90c380a08ac8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_DirectorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_186123f9-ebbd-4466-a318-a2f583f4b77e" xlink:to="loc_srt_DirectorMember_ef8429c9-9cc1-462e-8eae-90c380a08ac8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_42cb98d1-0b13-4bf8-9be4-68945e2c7755" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_e514060a-26c1-4f60-beab-6026834492fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_ShareBasedCompensation_e514060a-26c1-4f60-beab-6026834492fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_dad41dff-9f4e-4cf3-b00d-030509f88a21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_dad41dff-9f4e-4cf3-b00d-030509f88a21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_d0cd03d1-2691-473e-9081-5565372a8d47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_d0cd03d1-2691-473e-9081-5565372a8d47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_bed427b6-6d3f-4931-b687-ac11f77b03ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_bed427b6-6d3f-4931-b687-ac11f77b03ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod_da1a5fcd-a93d-446f-93f1-154974e5406b" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1c37eed2-b2cc-4733-8344-88ed8c8496ae" xlink:to="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod_da1a5fcd-a93d-446f-93f1-154974e5406b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails" xlink:type="simple" xlink:href="fstr-20230331.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_4864211e-5f89-4d8a-b165-3dd0c90d2575" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_285d2487-5a6b-4d3d-a40f-55a3a869946b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_4864211e-5f89-4d8a-b165-3dd0c90d2575" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_285d2487-5a6b-4d3d-a40f-55a3a869946b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_51926524-d5af-4863-a037-f76d309310b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_285d2487-5a6b-4d3d-a40f-55a3a869946b" xlink:to="loc_us-gaap_AwardTypeAxis_51926524-d5af-4863-a037-f76d309310b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_51926524-d5af-4863-a037-f76d309310b2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_06d4ca3c-e6fa-42d8-94fd-891e3f7aee75" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:to="loc_us-gaap_RestrictedStockMember_06d4ca3c-e6fa-42d8-94fd-891e3f7aee75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DeferredStockUnitsMember_0daeefeb-3342-410c-b416-215d2c6ee6a4" xlink:href="fstr-20230331.xsd#fstr_DeferredStockUnitsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:to="loc_fstr_DeferredStockUnitsMember_0daeefeb-3342-410c-b416-215d2c6ee6a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_171580f4-ba75-4639-b9ae-a83d5a2bffb0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_60a7f2f9-848e-4d54-bd59-56309adfd72a" xlink:to="loc_us-gaap_PerformanceSharesMember_171580f4-ba75-4639-b9ae-a83d5a2bffb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0a99bdb1-0c1d-4cd8-b79e-fef728e81db2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_285d2487-5a6b-4d3d-a40f-55a3a869946b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0a99bdb1-0c1d-4cd8-b79e-fef728e81db2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0a99bdb1-0c1d-4cd8-b79e-fef728e81db2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_5c80c48a-313e-4b1f-9b17-92b63f5cacfc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_5c80c48a-313e-4b1f-9b17-92b63f5cacfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_6670489c-6a68-439b-84f8-d0bb79b450c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_6670489c-6a68-439b-84f8-d0bb79b450c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_aa7e6778-a725-4178-bc38-41075a6201d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_aa7e6778-a725-4178-bc38-41075a6201d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest_50330023-855e-4c46-9098-500cf2772cc1" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest_50330023-855e-4c46-9098-500cf2772cc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_56271d91-8319-4bdb-9de8-b5d3e934214f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_96505244-d007-4c7d-8ff3-ae53813bf8b1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_56271d91-8319-4bdb-9de8-b5d3e934214f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0a99bdb1-0c1d-4cd8-b79e-fef728e81db2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6bdb9f97-0ffc-44bf-b41e-fd5e3b8abb20" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6bdb9f97-0ffc-44bf-b41e-fd5e3b8abb20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_353540f6-3e32-4557-9235-4ef5d935a771" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_353540f6-3e32-4557-9235-4ef5d935a771" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_b2da4b53-2068-4eca-8367-b9dbb043b7c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_b2da4b53-2068-4eca-8367-b9dbb043b7c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue_abe4737c-a63f-4829-b546-6dcaaa853be5" xlink:href="fstr-20230331.xsd#fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue_abe4737c-a63f-4829-b546-6dcaaa853be5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_20c5fbf3-da2e-49b5-a997-810646724c45" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c21a5969-b222-4919-8395-22709e4a854a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_20c5fbf3-da2e-49b5-a997-810646724c45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="fstr-20230331.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_832a7138-eab7-4e7c-8c28-55f559aac954" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0a109e5d-5be6-49ff-b070-f424955b3af3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_832a7138-eab7-4e7c-8c28-55f559aac954" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0a109e5d-5be6-49ff-b070-f424955b3af3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_1639826c-2392-4dcd-a705-985c4f4da5e8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0a109e5d-5be6-49ff-b070-f424955b3af3" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_1639826c-2392-4dcd-a705-985c4f4da5e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_1639826c-2392-4dcd-a705-985c4f4da5e8" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_2dfe3743-61ff-47f3-a255-117f372bf669" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_2dfe3743-61ff-47f3-a255-117f372bf669" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_9b338ed0-aab7-4cd0-badb-50a773c6c3ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_9b338ed0-aab7-4cd0-badb-50a773c6c3ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_ebfcb2d9-13e2-49e0-a94f-85a2dd8ebbd3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1b2ea751-c456-46ee-848c-1009ca1832e5" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_ebfcb2d9-13e2-49e0-a94f-85a2dd8ebbd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0a109e5d-5be6-49ff-b070-f424955b3af3" xlink:to="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f8ff4ca8-a04c-4ff9-9c63-f98b1284a59c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f8ff4ca8-a04c-4ff9-9c63-f98b1284a59c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_27228ad7-8c08-4829-b579-bdba484b35ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_us-gaap_DerivativeAssets_27228ad7-8c08-4829-b579-bdba484b35ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_9dd061ac-ed46-40ad-8fc4-d1d17c5a515e" xlink:href="fstr-20230331.xsd#fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_9dd061ac-ed46-40ad-8fc4-d1d17c5a515e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_82dd620f-7707-4507-86f3-35d5cbb61575" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_005c598a-0734-461c-9afd-00a97d9ae1d7" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_82dd620f-7707-4507-86f3-35d5cbb61575" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.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_82827983-9d8d-4811-952f-e0f42cd24072" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_5b7c0b5e-6ca7-47ab-b266-6cb764a8eb7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_82827983-9d8d-4811-952f-e0f42cd24072" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_5b7c0b5e-6ca7-47ab-b266-6cb764a8eb7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_b285032b-6de7-44b5-81e4-0a3c9daf0452" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_5b7c0b5e-6ca7-47ab-b266-6cb764a8eb7f" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_b285032b-6de7-44b5-81e4-0a3c9daf0452" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_59a286a7-7123-4e3a-9606-c4704f7e38b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_b285032b-6de7-44b5-81e4-0a3c9daf0452" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_59a286a7-7123-4e3a-9606-c4704f7e38b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SwapMember_fac2223f-976b-4d19-b492-e72a29d06734" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SwapMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_59a286a7-7123-4e3a-9606-c4704f7e38b8" xlink:to="loc_us-gaap_SwapMember_fac2223f-976b-4d19-b492-e72a29d06734" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_8f5dc76f-02d5-4011-a95c-74a72445f378" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_5b7c0b5e-6ca7-47ab-b266-6cb764a8eb7f" xlink:to="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_8f5dc76f-02d5-4011-a95c-74a72445f378" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_InterestIncome_6dab28aa-2a4d-4ffa-b6e4-f1ebfb99adfb" xlink:href="fstr-20230331.xsd#fstr_InterestIncome"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_8f5dc76f-02d5-4011-a95c-74a72445f378" xlink:to="loc_fstr_InterestIncome_6dab28aa-2a4d-4ffa-b6e4-f1ebfb99adfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_c1b5ef55-983a-4507-a375-97ae326a8390" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_8f5dc76f-02d5-4011-a95c-74a72445f378" xlink:to="loc_us-gaap_InterestExpense_c1b5ef55-983a-4507-a375-97ae326a8390" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.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_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_f5a13405-0c4f-45b9-b6ee-f899a45adca1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_f5a13405-0c4f-45b9-b6ee-f899a45adca1" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_9919748a-2025-44d4-ae96-db5f98eeef89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_9919748a-2025-44d4-ae96-db5f98eeef89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_d9de3085-8f75-4033-a613-e1f1788af602" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_9919748a-2025-44d4-ae96-db5f98eeef89" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_d9de3085-8f75-4033-a613-e1f1788af602" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_e432db68-8f7f-4572-bf6a-ef048865f954" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_d9de3085-8f75-4033-a613-e1f1788af602" xlink:to="loc_us-gaap_DomesticPlanMember_e432db68-8f7f-4572-bf6a-ef048865f954" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_fdb3c25d-ab77-49d0-be00-1e4c54b7dfb8" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DomesticPlanMember_e432db68-8f7f-4572-bf6a-ef048865f954" xlink:to="loc_country_US_fdb3c25d-ab77-49d0-be00-1e4c54b7dfb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_e18493b5-a294-4e05-9b4a-284653d7d291" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_d9de3085-8f75-4033-a613-e1f1788af602" xlink:to="loc_us-gaap_ForeignPlanMember_e18493b5-a294-4e05-9b4a-284653d7d291" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA_d106dcc3-06a2-44e0-b5a1-09f04669e158" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_e18493b5-a294-4e05-9b4a-284653d7d291" xlink:to="loc_country_CA_d106dcc3-06a2-44e0-b5a1-09f04669e158" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_f1835c2c-bf70-45fa-b055-754dc89e10dc" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_e18493b5-a294-4e05-9b4a-284653d7d291" xlink:to="loc_country_GB_f1835c2c-bf70-45fa-b055-754dc89e10dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_78b3efda-7523-4ff5-8b48-4032fb5550e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_78b3efda-7523-4ff5-8b48-4032fb5550e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_0f058c84-3696-4e31-a6eb-f2daec472a27" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_78b3efda-7523-4ff5-8b48-4032fb5550e2" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_0f058c84-3696-4e31-a6eb-f2daec472a27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_3b50cce8-acc4-48d2-af04-b53e2f733616" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_0f058c84-3696-4e31-a6eb-f2daec472a27" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_3b50cce8-acc4-48d2-af04-b53e2f733616" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_4dec1782-b781-4dbc-9619-d54dc4ace087" xlink:to="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfRetirementPlans_d28c3d77-9462-4135-883f-014ea38820ec" xlink:href="fstr-20230331.xsd#fstr_NumberOfRetirementPlans"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_fstr_NumberOfRetirementPlans_d28c3d77-9462-4135-883f-014ea38820ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_DefinedBenefitPlanNumber_20cd3128-904c-45c8-ae6b-33f58cf70689" xlink:href="fstr-20230331.xsd#fstr_DefinedBenefitPlanNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_fstr_DefinedBenefitPlanNumber_20cd3128-904c-45c8-ae6b-33f58cf70689" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfDefinedContributionPlans_89102dda-5875-4edf-ba52-9d447bf468ce" xlink:href="fstr-20230331.xsd#fstr_NumberOfDefinedContributionPlans"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_fstr_NumberOfDefinedContributionPlans_89102dda-5875-4edf-ba52-9d447bf468ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear_bae484c6-0809-4ec4-a24d-86bb1897e6b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear_bae484c6-0809-4ec4-a24d-86bb1897e6b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_5720ddf5-71eb-4f79-9b89-f5bdb7c2a9b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_8f3e37a5-1731-4184-9c49-17b996dcad2f" xlink:to="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_5720ddf5-71eb-4f79-9b89-f5bdb7c2a9b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails" xlink:type="simple" xlink:href="fstr-20230331.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_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_44480ee3-1bf5-4b89-bcf2-1f3a05cda989" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_a6805af8-ebe1-41a7-9728-637859ea7585" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_44480ee3-1bf5-4b89-bcf2-1f3a05cda989" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_a6805af8-ebe1-41a7-9728-637859ea7585" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_531e412a-d179-4876-92f6-52d437baf268" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_a6805af8-ebe1-41a7-9728-637859ea7585" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_531e412a-d179-4876-92f6-52d437baf268" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_b4e921d7-9cde-4fe4-b473-e4740b3c080c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_531e412a-d179-4876-92f6-52d437baf268" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_b4e921d7-9cde-4fe4-b473-e4740b3c080c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_878ae841-6a60-4789-9d99-e308b3d10c5e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_b4e921d7-9cde-4fe4-b473-e4740b3c080c" xlink:to="loc_us-gaap_DomesticPlanMember_878ae841-6a60-4789-9d99-e308b3d10c5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_6c761dd3-24e0-4638-801b-92b6436e7e24" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DomesticPlanMember_878ae841-6a60-4789-9d99-e308b3d10c5e" xlink:to="loc_country_US_6c761dd3-24e0-4638-801b-92b6436e7e24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_9a510e2a-8034-4bf5-8196-13602a4dd78e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_b4e921d7-9cde-4fe4-b473-e4740b3c080c" xlink:to="loc_us-gaap_ForeignPlanMember_9a510e2a-8034-4bf5-8196-13602a4dd78e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_eb195574-7c7a-4eda-99b2-07a7d3572ad4" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_9a510e2a-8034-4bf5-8196-13602a4dd78e" xlink:to="loc_country_GB_eb195574-7c7a-4eda-99b2-07a7d3572ad4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_a6805af8-ebe1-41a7-9728-637859ea7585" xlink:to="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_3831a342-c42f-4467-b560-1012100f1446" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_3831a342-c42f-4467-b560-1012100f1446" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_7758a965-1625-47cc-923f-fdb5e4eb53f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_7758a965-1625-47cc-923f-fdb5e4eb53f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_3134f611-54f9-4553-830a-080c17d3a1e7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_3134f611-54f9-4553-830a-080c17d3a1e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_8716a48f-792e-47d4-b32b-b3a393695d32" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_8716a48f-792e-47d4-b32b-b3a393695d32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_6312bee8-a6ec-4366-86a1-f118cd371f6d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_d8287ef0-714a-45e6-88da-1d88a32d554f" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_6312bee8-a6ec-4366-86a1-f118cd371f6d" 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-20230331.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_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_a1f3ee61-d02e-4726-97b9-cb033e395d49" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanTable_4de27dd8-d5f1-4972-81e6-5f2f16cacd09" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract_a1f3ee61-d02e-4726-97b9-cb033e395d49" xlink:to="loc_us-gaap_DefinedContributionPlanTable_4de27dd8-d5f1-4972-81e6-5f2f16cacd09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_9130a193-87c1-4e9a-8ad0-004627b8d989" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanTable_4de27dd8-d5f1-4972-81e6-5f2f16cacd09" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_9130a193-87c1-4e9a-8ad0-004627b8d989" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_903d05c1-c719-4793-a2e3-479e2ba9878a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanSponsorLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_9130a193-87c1-4e9a-8ad0-004627b8d989" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_903d05c1-c719-4793-a2e3-479e2ba9878a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticPlanMember_5017bfc6-1ded-4d6e-9161-772f16c91e34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_903d05c1-c719-4793-a2e3-479e2ba9878a" xlink:to="loc_us-gaap_DomesticPlanMember_5017bfc6-1ded-4d6e-9161-772f16c91e34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_41ec89b5-15c4-419f-8946-6c1a36472a5f" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DomesticPlanMember_5017bfc6-1ded-4d6e-9161-772f16c91e34" xlink:to="loc_country_US_41ec89b5-15c4-419f-8946-6c1a36472a5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignPlanMember_c54353c6-ff8a-4e59-88c1-8ae47bd5e8b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_903d05c1-c719-4793-a2e3-479e2ba9878a" xlink:to="loc_us-gaap_ForeignPlanMember_c54353c6-ff8a-4e59-88c1-8ae47bd5e8b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CA_0c58cb72-2b59-4f4b-95ce-db69c3ef0170" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_c54353c6-ff8a-4e59-88c1-8ae47bd5e8b2" xlink:to="loc_country_CA_0c58cb72-2b59-4f4b-95ce-db69c3ef0170" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_ba6d363a-7c2d-4fd3-8ea9-db45444396cb" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ForeignPlanMember_c54353c6-ff8a-4e59-88c1-8ae47bd5e8b2" xlink:to="loc_country_GB_ba6d363a-7c2d-4fd3-8ea9-db45444396cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_06bccddc-ca28-492a-9463-afebefd90658" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanTable_4de27dd8-d5f1-4972-81e6-5f2f16cacd09" xlink:to="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_06bccddc-ca28-492a-9463-afebefd90658" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized_a8a2e035-a66b-44d8-8310-ab44af3c472b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_06bccddc-ca28-492a-9463-afebefd90658" xlink:to="loc_us-gaap_DefinedContributionPlanCostRecognized_a8a2e035-a66b-44d8-8310-ab44af3c472b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#CommitmentsandContingentLiabilitiesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b3c1a517-d288-41c1-ae0a-ab6154ed61bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b3c1a517-d288-41c1-ae0a-ab6154ed61bd" xlink:to="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis_f3e83524-b8fa-4a48-a726-b4c70d38a350" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:to="loc_dei_LegalEntityAxis_f3e83524-b8fa-4a48-a726-b4c70d38a350" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_f32c2a8f-dc23-4b43-939e-51d0141ebda6" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_f3e83524-b8fa-4a48-a726-b4c70d38a350" xlink:to="loc_dei_EntityDomain_f32c2a8f-dc23-4b43-939e-51d0141ebda6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UprrMember_2c71d000-3b9c-4355-b443-d3ae0f840355" xlink:href="fstr-20230331.xsd#fstr_UprrMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityDomain_f32c2a8f-dc23-4b43-939e-51d0141ebda6" xlink:to="loc_fstr_UprrMember_2c71d000-3b9c-4355-b443-d3ae0f840355" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_a9f39a6c-3266-42cb-bafe-69f56a04a56c" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:to="loc_srt_MajorCustomersAxis_a9f39a6c-3266-42cb-bafe-69f56a04a56c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_50d4d33d-4d43-4f54-8fd0-8c9e0a5b21c8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_a9f39a6c-3266-42cb-bafe-69f56a04a56c" xlink:to="loc_srt_NameOfMajorCustomerDomain_50d4d33d-4d43-4f54-8fd0-8c9e0a5b21c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UPRRMember_02726f8e-3025-4e8b-9de9-8d3baec494c8" xlink:href="fstr-20230331.xsd#fstr_UPRRMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_50d4d33d-4d43-4f54-8fd0-8c9e0a5b21c8" xlink:to="loc_fstr_UPRRMember_02726f8e-3025-4e8b-9de9-8d3baec494c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_2a93336f-158c-41ad-ba62-b93f3bb779b0" xlink:to="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_0dd15c20-d302-485d-bec9-63bc80729bac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_0dd15c20-d302-485d-bec9-63bc80729bac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_fb328a9d-d3d7-4735-9f93-23775ff0947f" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent_fb328a9d-d3d7-4735-9f93-23775ff0947f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_4a7b0db5-a656-4a14-9c83-841cd3431756" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent_4a7b0db5-a656-4a14-9c83-841cd3431756" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementInstallmentPaymentTerm_8b45eb85-aae2-4f28-830c-2dca9feda025" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementInstallmentPaymentTerm"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_LitigationSettlementInstallmentPaymentTerm_8b45eb85-aae2-4f28-830c-2dca9feda025" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount_15e025d9-0144-403a-a81f-fbbccc908b36" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentAmount_15e025d9-0144-403a-a81f-fbbccc908b36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount_3304484f-373c-4971-a65f-7fb7f4991b75" xlink:href="fstr-20230331.xsd#fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount_3304484f-373c-4971-a65f-7fb7f4991b75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_e16cfe1e-af95-4f95-86b0-de210596f7ba" xlink:href="fstr-20230331.xsd#fstr_NumberOfCompaniesReceivingGeneralNoticeLetter"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_NumberOfCompaniesReceivingGeneralNoticeLetter_e16cfe1e-af95-4f95-86b0-de210596f7ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_PresentValueOfProposedRemedialWork_852299e5-d931-4ead-b4e6-12ee434eeb50" xlink:href="fstr-20230331.xsd#fstr_PresentValueOfProposedRemedialWork"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_PresentValueOfProposedRemedialWork_852299e5-d931-4ead-b4e6-12ee434eeb50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_UndiscoveredRemedialWork_cadf4dba-b12c-4197-8646-20ffb5a87720" xlink:href="fstr-20230331.xsd#fstr_UndiscoveredRemedialWork"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_UndiscoveredRemedialWork_cadf4dba-b12c-4197-8646-20ffb5a87720" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod_0a0bafa1-54b3-4fd8-baa5-7c65acdb2cb4" xlink:href="fstr-20230331.xsd#fstr_RemedialWorkAnticipatedCleanUpPeriod"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_RemedialWorkAnticipatedCleanUpPeriod_0a0bafa1-54b3-4fd8-baa5-7c65acdb2cb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_85187f75-3849-4d2c-af9a-d085807648dc" xlink:href="fstr-20230331.xsd#fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement_85187f75-3849-4d2c-af9a-d085807648dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork_034a4b54-1f65-4a61-9684-209f15830f4b" xlink:href="fstr-20230331.xsd#fstr_NumberOfPartiesRequiredToPerformRemedialWork"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_NumberOfPartiesRequiredToPerformRemedialWork_034a4b54-1f65-4a61-9684-209f15830f4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_ed91dba6-c417-4b15-b2fa-6fed276ad505" xlink:href="fstr-20230331.xsd#fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag_ed91dba6-c417-4b15-b2fa-6fed276ad505" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccrualForEnvironmentalLossContingencies_a25ae80e-fd03-4f13-86f4-14176c400422" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccrualForEnvironmentalLossContingencies"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_8b6722aa-83ec-4f94-91be-2c6d806baeec" xlink:to="loc_us-gaap_AccrualForEnvironmentalLossContingencies_a25ae80e-fd03-4f13-86f4-14176c400422" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails" xlink:type="simple" xlink:href="fstr-20230331.xsd#CommitmentsandContingentLiabilitiesFuturePaymentsDetails"/>
  <link:presentationLink xlink:role="http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_75e8172c-722d-4b02-9813-0656636b442d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear_89b52255-bf41-4bd9-a7e5-d7934ddb0464" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_75e8172c-722d-4b02-9813-0656636b442d" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear_89b52255-bf41-4bd9-a7e5-d7934ddb0464" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne_f13a838d-e41a-476e-bd90-f26817b015bd" xlink:href="fstr-20230331.xsd#fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_75e8172c-722d-4b02-9813-0656636b442d" xlink:to="loc_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne_f13a838d-e41a-476e-bd90-f26817b015bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_8c4944ab-0b24-4782-9360-03c257036c9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_75e8172c-722d-4b02-9813-0656636b442d" xlink:to="loc_us-gaap_LitigationSettlementAmountAwardedToOtherParty_8c4944ab-0b24-4782-9360-03c257036c9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>13
<FILENAME>fstr-20230331_g1.gif
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 fstr-20230331_g1.gif
M1TE&.#EAD@%" '   "P     D@%" (?___\A&2'6$$(A(2'W]_<9&1DA&1GO
M]__%"$)24E+_]^\I*2DI&2DQ.C$Q&1 9"!#.WMZE$%*EYN:$C(1CG)Q:E&-:
M&5J]Q<5::V/FA(3OYN][<Y00G!D0[YP0[QE:Q=Y:Q5IK<\X0<UH0Q=X0Q5I:
MQ9Q:Q1D0<QD0Q9P0Q1F]$!GOA%+F2BFEC(3F2@B<2E*<A%+6A!F<2AF<A!EK
M0C%K$#&<$!G>C)S.M>;F$%*EC*7OO;VEM>9:0N800H000N9:$.80$.9:0K40
M0K5:$+40$+40$%I[:V,00A#F8Z7FC,Y:2H3F.L[F.H2MC,ZM.LZM.H1:&8RM
M8X3F8\[F$,[F$(2M8\ZM$,ZM$(2MM82]M;VEK:76M8Q[E&/O2E)[&5K6YE*<
MYK6<YE+6YAF<YAG6M5*<YH2<M5+6M1F<M1E[[]Y[[UH0.C%KG.\QG%HQ[]XQ
M[UI[[YQ[[QDQG!DQ[YPQ[QE[Q=Y[Q5IK<^\Q<UHQQ=XQQ5I[Q9Q[Q1DQ<QDQ
MQ9PQQ1G%&4+6>U+6O;V]0DHZ0A 00EH0$(R]A%+WA!F]2AF]A!GF$"E[0N8Q
M0H0Q0N9[$.8Q$.9[0K4Q0K5[$+4Q$+4Q$%K>8WOF$ C6YK76YH2EK;W64EKF
MC.][2H3F.N_F.J6MC.^M.N^M.J5[&8RM8Z7F8^_F$._F$*6M8^^M$.^M$*5:
M<YSOO>8(" COM8SWYE*]YK6]YE+WYAF]YAGWM5*]YH2]M5+WM1F]M1ES2E):
MG!!:<Q Q0E+__^\Q$(Q[0A![$!!:0A!:$!#6&4+6 $+WYK7WYH0ZG.\ZG*T0
MG.\0G*TZ<^\Z<ZT0<^\0<ZU:G#%:<S%:[^]:[VM[G,X0G&L0[^\0[VM:[ZU:
M[RE[G!![<Q ZG,XZG(P0G,X0G(PZ<\XZ<XP0<\X0<XQ:[\Y:[TI:G,X0G$H0
M[\X0[TI:[XQ:[PCFWM[..E)[G#$("#%[<S&$E)S6A'O_SN;_]__F]_?O]][%
M"%H((1 A"#'6"%(A" @A(0@A""$9&0@A&0@(_P Y<;HDD.# @@AO  #@:Z'#
MAQ C0M3@:][!BP8S(L2X42/!CQDR[&"GP.$!  I\U:/7\.3""P,&& @P@*;-
MFCAOZLS)<R?. 0DD"AU*M*C1HTB3(DUPLR?/ 5J42IU*M:K5H0*R"@BD-2O7
MKAD '*"'\D!)I0H.'&@(8!"CKEOA?M4ZUZM<1G6WMA/0KET&DB?-TJO7D/!"
M+31C*E[,N+%CQP'XQ4R,X:KERYBI)F"<N#'-01#/9AY-NO1"N*CA9O!E5BP
M#4K7BJ7'<E#<U+AS=\V+6]X.#0?L*0!>\BQ,F3N3.U7NLW. !&1-2Y\^%8-B
MFI*5X[O@$K9+ZN##$_^-RS60>?+FS8=UF79A^_<GX;N7O7('>O3EMYXOOU\_
M>?]?I4>>7VD-MQ8])]&CQ6*)-3C9@S\Y&"&$$E8& $OL93C?AF5QV%Z'('XH
MHH8ADCBBAR:FB.)#3#%(H6(+@/80;&*UQ%!W"\EV$FL+T:CCC3WF:"./KPGI
M&I$^#HECC4<N^2.21NZXY$-TR85:6#>61.-1;!&WD&VWV;6;E6.&>9Z89_IW
M@P;TV#.6 O6\%),!U[TXX9T2.L<@=*ZA]!![?[H7J)\F"5HHH3D:FBBB?8K6
MZ*". GIHI LU1!8&3>GYTP-1Q2D;0PM%1Q9;#[%T(41LB0HJ1*9&YU"JH:[_
M6JJEJ,9Z*JD.M5KKJ;=.=%J _]W&509J!6GCATDB>*%9.OIBGUUSY0=ME=%.
MF]>9Z?6UPW"OP4G6@D_A:6>>=OXT@"X02;HHI8RJ^^BDD,8+[[SKREMOK"ZU
M6*>$BEWPJFO*VK@LJ-_MJ&RB @?<YY$'']FGP@4SU/".#U,<L2\3$QRJE%3J
MIII8);&V9:42D<K:6%\64Y?*7;&LE<M9P:S5/<!&FQ<G['1;) #'T1FNN9T!
M[>*X-6%PTDJT IQT@DM?V+2N2O/*M-1.4PWUU-%AG>C55>=HZJ< Z,+OA(E%
M92-LL!8V*P K/528JFKG^K;;;,/-]MIM_YOWJ'?+_UTWW7N#&J=0]_$'H #$
MYBC:AP$?C"#&-,:IP+/]&6YYX?<)2Q[-7N47R [UL+DEN.8^E>F^$)HNV4_H
M_LF6P'&RY5+LB]+>I^VSKYJ[[ OAWKONO_-^M_"^F[HHKYL-77I,,B+J4H(D
MNQ2=P/]*'[VMU%_/:\+:5X_]P]UK/_V%M)\T<S%9W8.^ /?0M5[(!VQ)I-ZH
MMM865^NSG_[^['/5?OO]BTO[JD4,FO'&+IQ@C:?D)),'Z2DR"Q#:BX*6)WPD
MX"3V@(T&VB.;#;(I2(3ZH*Q>PQ(-MH<B&^Q1=!SU&E]H (4D[!()%<4K1Z%-
M,&31DDI>6,(2>LLZ-0E !/_)%I,'7  X( L=/0J4%A>V\#4H].%:> @G$YZ$
M1AJL88W(@L(-F@4V"J@B2J*CQ#&:I4"M89,3LQC&T)%P5#AZ89%H1"8SH2]Q
M\1FAQEPE,68I;@?HDY;'!MFY-'4%@'9IQSP.0!A+@:LI0%M  +!#DP70:6RG
M&X D8U(9X@R.'MX1C1MA$SH8>@>4"YN1["*W*I8@*(N#B^/O0LFL+#(K:R6Y
M(OAV%C^2Z>N2J?N)O\ (-E\Y<2+QBY,&#0-"[\22-6E!Y<@<DL4E.O% ,E2*
M!M$FI#>]II?4'!S+ON(RF:VG(7 *$LK@Z#17J<1^8&)?_@+AL@"EAS_W],]6
M<D#_#&#5\7,'HE'/AM:9F0BQ)G1*: -GHM"93,8 $'U._!J"Q1VF$P#L&,06
M=#"!(V @ 1\%:0)&.E(,'.$($]B"%G*F3A?2*&MNZ^"J-'"!+4Q@ T<0*4EW
M&E*0ZF("\5CI!@=7I#86226)2AY"'ZB8!\C(.WK#9=THVK<@H6U4&JC'!;00
MCXY^5!<[+6D")I!2H59QA\#!$(B,U+;6/&^6#BGE!7204YZV  )RK%K,PG2;
M8@P02_$!6_8$%A]7KN59U)KG^CB7OJ_<HX#\*U.PH/4**+(%,0XL5P0GN;S'
MQ&23BC% ZX"SPX>P8PL8:,  \#& !]3IDA0L0 0?\( %_X!T$QED&PR91$TH
M3I$=$TA  ^BT@.P$C3.<G=,#"M  #&R!'1W,*D7KH27JTD.IRC,7=]S(+>BQ
MQA?<,I!T*]5$#<9/"\&5R0/P,=L!%, SH*WM6+? +1=>\U2DM!3'F,1,%ZZ%
MD<!5;0'>VY@'8."(L1*3^OPG)L2!K"RXZBU95NB>>J#L?O_)G\P"T4^N]%,
MQ*B2B/V#R #&11XRY=F<Q/70!:C6 $,4HHPE26,9(^?&&'#C$U]S@2.T5I/)
M1:AG/SO@T/KL"!=H"3>=MJ-Z*/,"&*CMCX/)F 4,\3$!F,D",(!7#"Y1F13Y
M9O)L8LG,QJ0!F^A28(9J7M=,M/\L6M(MV^K1@E[<^*''G4R,%U/D!1R!I6MQ
M8TL: EU3NK"*7Z:(H"_0@"OO.8+OY<<#)I#7O::&GG%12&!*\CC>UBY7[6$-
M/0"YUP'JCW^7R  7;I !5K^"U:T.B3SD\8+]F"?$?-W?)9S(:=(1+3(#.((6
MACV("QB[V,4^MK$OD.QD*[MW;GH-.U); -?BY,J+<6A/7 MI OML !M@QP)3
MJ4'@ND+*FDR=3=:=96W7:3&2;, 6Y C&:;=VO5;^-C ?6%L#T'8!^#" 9"+]
M7G_+Q!\#V 0Q1U8/'20 X0.0C,^NW( 'YAE&C=;!*(&DI0L,_,?>EDD!:%*
MH!Q !YK_A''0(GC)(@?[BM3:BLRRLIK6-#%=KP->C<;2D'@>$%@9^-#Q'E*/
M>>R $'')P5SJ&1=.W$B@0@2F3#8)XR#&XU#:) LX7T@1+23 H=A^P+>'[%G9
M+G< _D@ ='/N*B<GX $->&^#+D[VXTYRD@8HP!&@*A9=&#G+,=8W:!7C\B"^
M>\H%X(<6MAXZ7P!WM3 J\YVP?.<@RM8?&,@9%HM$C^-XQC$)J(<6&B!V&,VI
MDI_59&TU#H#(=@4!I@[$>D!V(( M:L+H+,N!1BWS_]0%T_(@K7<4^-VX:D >
M_OQ]( 7@]"5K(3L.Y$>#5-X"76HSQ31JR.BMK2D7V43ZD"1[_VLSOS$@U<,>
MO3  Z:]L<?#C9.Q9'O(0)] E7T3919*//MW1W5F<%,!?(N-$[/!V#)))WO=9
M^=<89J=V1Q,D]3 (! 89C($!]K!^9E8G<@<C[. ++>,_!_0^?B)J#4$J9Q$Q
M!>(:M@$SZ*,RYM0GQ><Z9%%T>P$7"W9J7.%T%N80QT$35?=N)#<!H7$J*,-I
M?L)'$.$I[&!GG,$856=EEB1$Q55Z#;( W.8<  <4O81%);$!"4A!TF=X\ 9C
ME]2#I2-Y_]<G0)19%^<@='>!BQ$53[<0:=A]=\99-B9URE-)%D088>9&, %)
M@!@3NL"%[!5_>C9YA'<$K1<F\^05Z/^C:;07*&I%**X"50V!6 .$2 !4'@IA
M&!\28:UA#S.3&U_A=-]%%A? A@88 %?7-Q2C,412/H-6%AIP!/R0@?P2 *2'
M'"HW<ND6 *X%C$WE@W2R!3R2527!:"K7?T!V'1!E<$!S.EEV$QBP1&*A+Q$W
M0: U-MGE% /@+V)!2CJ0?P886JFC;3R(>ONR !KG1!3E:X'8&;TP7$&34(FQ
MC8S1"_7P,IXC "S#,C6'3JV!,4/7)_+C1[;!&RM#<_IU<UG3)0B")KYG%Y=
M&VXV"#9&00YD $#X+T+(*T9HA(D" ?CX(F#W?I^59^S'($-D +VP@1HS 1 E
M$[OH@V3G4 K_Q8V)80#<<2$8 'W)Y2#[AH_D$GYE4REKP0ZDYS/=YR M&4%0
M>5 LYX:UE3/*Q#9_N#P:^8055SIXR"^<XA4 M%BCB#@),I N09#D0S(F(723
MLSZ8%G-?<4X0IC K!!P"@ ".:&GHPSG!9SO@\FU1]R#9T9&<]HJ\57L\,ABO
M AM19F7DPA-B2"'6MF*=54DLMW@O1%&JY95LZ(P:F7J:<H]P-TE;$"K86"[.
M\85$0T2) 8[_-0%V9Y/)$5$^$U$/]1C\8)A@]'Q$I#KKUD V 7]4-@'^^$]@
MP23'I'5L282?\D[MD9 QMX(!!%@E1#+,>3<'4"6FQCES$72NQ$ -_^)^;#@!
M,&42NN(J:5DIT?%"@1>9+->53&F.-NF9,Y$ .Q0_[&!X5/@@D@1C+&=EUQ%V
ME;2*JA=L$X8IIC,G)1F9#LH8< @;]-"94M<450=W5&=DV/:98*B+.1-H//.@
M#L1RE+220B8TSP$M?M4RY#%[S&(R#9-*.60\DW.<<6EJ+R, -Q!8VC."1;(#
MAH,;Y;$#_W4C$$AEY]B*ID*$")-'IR(JS[,%UB:8%*)R#_ <$Z #RZ91.45;
MBU&9AKA0"] CA*$#^/9Y"P5C/[4%R+95S!9<@S< # !]4^9>%G)=3/44<\IB
MD?D@/@..L+$@K@6F^Y)08A>5$]>?!Y5N[__F4$945 K"I\A%9"?:0!.D& U@
M:70Q3EH!@HLY/P_&GD"25B<!)OX4,])2<WF4-[,A)!D0I/D!,X'PH0H0'3NX
M').191UY,08S*#R"F#[V$^X6(0OP#[V@!=,4&.R@!>G'J(A81&83)SZ6;P*J
M;KH( 435)R[!#AM0==QX'4%Q*3=!I;_6H.I&(7 H%A, =\RUA#6QBR5W!)N0
MKCRC!1N0 &46?][J&1B012HFJ9 $IJ2727EF --"@W8!B1 F-WSD(PX1:B=A
M'YBVB2I38K)',DLF&CLR")S@>LN72-]$,$<ZH-W'D8%"*LQY%ABSGHMB9_EZ
M>)6D?J"A2VW&2%O_0(Z6RB] >!:;<7=@N&*Z6(U:]T7AZ'@818!V0F/RA9K$
M.9@2P@"3P9H2)"$PQ@^ Z@N]L$GQ=SK6E@ 0\%;&,FUQ.JX_L0"]0%6^L""A
MR2\S&6SSVF/-2E ]<4CE(3-W!$TOFIW[A9T,86&F,@CYTWL=J#(W %UG(3IJ
M\4(*8 ^#0!#  D"$ $"FE@$6%D8N<:O*(624%HZY]#@\%Q@!,Q:)&R3D2)1-
MQ7J*)A3T8!T *GY[UTMCQI)?V@_FJ26YE$)]L@4Q\87LUQ0)H$$*&G5E)H;5
MFB>6-+S#*YS\X*T!H 71P0Y=>'B* 0&]%6$ , _I%[-T!U$;F(.I6)^:__(
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
MX-,2F3': ZS-'M#!$#'4HP6TE&X)P&: NM41FC]L*9,."V^!@^XR8#$ 6M+
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
+^299590'@(   #L!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105190624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>May 02, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">11,085,149<span></span>
</td>
</tr>
<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">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">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>15
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103407728">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 2,639<span></span>
</td>
<td class="nump">$ 2,882<span></span>
</td>
</tr>
<tr class="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">54,904<span></span>
</td>
<td class="nump">82,455<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets - net (Note 3)</a></td>
<td class="nump">31,207<span></span>
</td>
<td class="nump">33,613<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories - net (Note 6)</a></td>
<td class="nump">84,594<span></span>
</td>
<td class="nump">75,721<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">11,844<span></span>
</td>
<td class="nump">11,061<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">185,188<span></span>
</td>
<td class="nump">205,732<span></span>
</td>
</tr>
<tr class="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">78,960<span></span>
</td>
<td class="nump">85,344<span></span>
</td>
</tr>
<tr class="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">16,513<span></span>
</td>
<td class="nump">17,291<span></span>
</td>
</tr>
<tr class="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">30,863<span></span>
</td>
<td class="nump">30,733<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Other intangibles - net (Note 4)</a></td>
<td class="nump">22,549<span></span>
</td>
<td class="nump">23,831<span></span>
</td>
</tr>
<tr class="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">0<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="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">2,305<span></span>
</td>
<td class="nump">2,355<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">336,378<span></span>
</td>
<td class="nump">365,310<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">48,553<span></span>
</td>
<td class="nump">48,782<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">14,556<span></span>
</td>
<td class="nump">19,452<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued payroll and employee benefits</a></td>
<td class="nump">4,176<span></span>
</td>
<td class="nump">10,558<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_AccruedLegalSettlementCurrent', window );">Current portion of accrued settlement (Note 13)</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">8,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_LongTermDebtAndCapitalLeaseObligationsCurrent', window );">Current maturities of long-term debt (Note 7)</a></td>
<td class="nump">117<span></span>
</td>
<td class="nump">127<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">13,100<span></span>
</td>
<td class="nump">16,192<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">88,502<span></span>
</td>
<td class="nump">103,111<span></span>
</td>
</tr>
<tr class="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 debt (Note 7)</a></td>
<td class="nump">79,979<span></span>
</td>
<td class="nump">91,752<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities (Note 9)</a></td>
<td class="nump">1,753<span></span>
</td>
<td class="nump">3,109<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_AccruedLegalSettlementNonCurrent', window );">Long-term portion of accrued settlement (Note 13)</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">8,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_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease liabilities</a></td>
<td class="nump">13,416<span></span>
</td>
<td class="nump">14,163<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">7,714<span></span>
</td>
<td class="nump">7,577<span></span>
</td>
</tr>
<tr class="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 March&#160;31, 2023 and December&#160;31, 2022, 11,115,779; shares outstanding at March&#160;31, 2023 and December&#160;31, 2022, 10,809,711 and 10,776,827, 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">40,951<span></span>
</td>
<td class="nump">41,303<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">121,017<span></span>
</td>
<td class="nump">123,169<span></span>
</td>
</tr>
<tr class="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, 306,068 and 338,952 common stock shares at March&#160;31, 2023 and December&#160;31, 2022, respectively</a></td>
<td class="num">(5,174)<span></span>
</td>
<td class="num">(6,240)<span></span>
</td>
</tr>
<tr class="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,296)<span></span>
</td>
<td class="num">(21,165)<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">136,609<span></span>
</td>
<td class="nump">137,178<span></span>
</td>
</tr>
<tr class="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">405<span></span>
</td>
<td class="nump">420<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">137,014<span></span>
</td>
<td class="nump">137,598<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">$ 336,378<span></span>
</td>
<td class="nump">$ 365,310<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_AccruedLegalSettlementCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued Legal Settlement 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_AccruedLegalSettlementCurrent</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_AccruedLegalSettlementNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued Legal Settlement 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_AccruedLegalSettlementNonCurrent</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_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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130533-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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 an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>The cumulative amount of the reporting entity's undistributed earnings or 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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 stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>16
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105154528">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (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,809,711<span></span>
</td>
<td class="nump">10,776,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_TreasuryStockCommonShares', window );">Treasury stock shares - at cost, common stock (in shares)</a></td>
<td class="nump">306,068<span></span>
</td>
<td class="nump">338,952<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>17
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073104790480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 115,488<span></span>
</td>
<td class="nump">$ 98,794<span></span>
</td>
</tr>
<tr class="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">92,197<span></span>
</td>
<td class="nump">82,347<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">23,291<span></span>
</td>
<td class="nump">16,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">21,423<span></span>
</td>
<td class="nump">17,298<span></span>
</td>
</tr>
<tr class="re">
<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">1,365<span></span>
</td>
<td class="nump">1,436<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 profit (loss)</a></td>
<td class="nump">503<span></span>
</td>
<td class="num">(2,287)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense - net</a></td>
<td class="nump">1,388<span></span>
</td>
<td class="nump">370<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other expense (income) - net</a></td>
<td class="nump">1,827<span></span>
</td>
<td class="num">(563)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income taxes</a></td>
<td class="num">(2,712)<span></span>
</td>
<td class="num">(2,094)<span></span>
</td>
</tr>
<tr class="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 benefit</a></td>
<td class="num">(541)<span></span>
</td>
<td class="num">(508)<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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest', window );">Net loss</a></td>
<td class="num">(2,171)<span></span>
</td>
<td class="num">(1,586)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity', window );">Net loss attributable to noncontrolling interest</a></td>
<td class="num">(19)<span></span>
</td>
<td class="num">(20)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss attributable to L.B. Foster Company</a></td>
<td class="num">$ (2,152)<span></span>
</td>
<td class="num">$ (1,566)<span></span>
</td>
</tr>
<tr class="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 loss per common share (usd per share)</a></td>
<td class="num">$ (0.20)<span></span>
</td>
<td class="num">$ (0.15)<span></span>
</td>
</tr>
<tr class="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 loss per common share (usd per share)</a></td>
<td class="num">$ (0.20)<span></span>
</td>
<td class="num">$ (0.15)<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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">$ 98,538<span></span>
</td>
<td class="nump">$ 84,421<span></span>
</td>
</tr>
<tr class="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">78,065<span></span>
</td>
<td class="nump">69,845<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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">16,950<span></span>
</td>
<td class="nump">14,373<span></span>
</td>
</tr>
<tr class="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">$ 14,132<span></span>
</td>
<td class="nump">$ 12,502<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations including 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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>18
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103390224">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Comprehensive Loss - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest', window );">Net loss</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">$ (2,171)<span></span>
</td>
<td class="num">$ (1,586)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss), 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>
</tr>
<tr class="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="nump">1,247<span></span>
</td>
<td class="num">(880)<span></span>
</td>
</tr>
<tr class="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) gain on cash flow hedges, net of tax benefit of $0 and $188, respectively</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(418)<span></span>
</td>
<td class="nump">551<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax', window );">Cash flow hedges reclassified to earnings, net of tax expense of $0 and $66, respectively</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">93<span></span>
</td>
</tr>
<tr class="re">
<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 $2 and $16, respectively*</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">40<span></span>
</td>
<td class="nump">49<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Total comprehensive loss</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(1,302)<span></span>
</td>
<td class="num">(1,773)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract', window );"><strong>Less comprehensive (loss) income 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>
</tr>
<tr class="ro">
<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">(19)<span></span>
</td>
<td class="num">(20)<span></span>
</td>
</tr>
<tr class="re">
<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">4<span></span>
</td>
<td class="nump">85<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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Amounts attributable to noncontrolling interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(15)<span></span>
</td>
<td class="nump">65<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive loss attributable to L.B. Foster Company</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">$ (1,287)<span></span>
</td>
<td class="num">$ (1,838)<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><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">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.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4613674-111683<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations including 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of gain (loss) from accumulated other comprehensive income (AOCI) for 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e689-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL34724391-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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>19
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073101689584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Comprehensive Loss (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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 gain (loss) on cash flow hedge, tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax', window );">Cash flow hedges reclassified to earnings, tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">66<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 2<span></span>
</td>
<td class="nump">$ 16<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 of gain (loss) from accumulated other comprehensive income (AOCI) for 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>20
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073101857232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest', window );">Net loss</a></td>
<td class="num">$ (2,171)<span></span>
</td>
<td class="num">$ (1,586)<span></span>
</td>
</tr>
<tr class="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 loss to cash provided by (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="num">(1,233)<span></span>
</td>
<td class="num">(574)<span></span>
</td>
</tr>
<tr class="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">2,505<span></span>
</td>
<td class="nump">1,938<span></span>
</td>
</tr>
<tr class="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">1,365<span></span>
</td>
<td class="nump">1,436<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_EquityLossIncomeAndRemeasurementGain', window );">Equity in income of nonconsolidated investments</a></td>
<td class="num">(17)<span></span>
</td>
<td class="num">(87)<span></span>
</td>
</tr>
<tr class="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) loss on sales and disposals of property, plant, and equipment</a></td>
<td class="num">(14)<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_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">884<span></span>
</td>
<td class="nump">258<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfBusiness', window );">Loss on asset divestitures</a></td>
<td class="nump">2,033<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_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">26,239<span></span>
</td>
<td class="num">(4,556)<span></span>
</td>
</tr>
<tr class="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="num">(860)<span></span>
</td>
<td class="nump">1,116<span></span>
</td>
</tr>
<tr class="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="num">(15,564)<span></span>
</td>
<td class="num">(4,781)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets', window );">Other current assets</a></td>
<td class="num">(791)<span></span>
</td>
<td class="num">(4,648)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other noncurrent assets</a></td>
<td class="num">(1,439)<span></span>
</td>
<td class="nump">818<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">4,921<span></span>
</td>
<td class="nump">4,680<span></span>
</td>
</tr>
<tr class="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">(707)<span></span>
</td>
<td class="nump">5,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_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued payroll and employee benefits</a></td>
<td class="num">(6,386)<span></span>
</td>
<td class="num">(4,181)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities', window );">Other current liabilities</a></td>
<td class="num">(2,981)<span></span>
</td>
<td class="num">(2,377)<span></span>
</td>
</tr>
<tr class="re">
<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="nump">1,148<span></span>
</td>
<td class="num">(1,022)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">6,932<span></span>
</td>
<td class="num">(7,636)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>CASH FLOWS FROM INVESTING ACTIVITIES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">16<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures on property, plant, and equipment</a></td>
<td class="num">(699)<span></span>
</td>
<td class="num">(1,764)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromDivestitureOfBusinesses', window );">Proceeds from business dispositions</a></td>
<td class="nump">5,344<span></span>
</td>
<td class="nump">1,195<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 provided by (used in) investing activities</a></td>
<td class="nump">4,661<span></span>
</td>
<td class="num">(539)<span></span>
</td>
</tr>
<tr class="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">(55,133)<span></span>
</td>
<td class="num">(30,892)<span></span>
</td>
</tr>
<tr class="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">43,086<span></span>
</td>
<td class="nump">35,301<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Treasury stock acquisitions</a></td>
<td class="num">(309)<span></span>
</td>
<td class="num">(397)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMinorityShareholders', window );">Investment of noncontrolling interest</a></td>
<td class="nump">334<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(12,022)<span></span>
</td>
<td class="nump">4,012<span></span>
</td>
</tr>
<tr class="ro">
<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">186<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net decrease in cash and cash equivalents</a></td>
<td class="num">(243)<span></span>
</td>
<td class="num">(4,133)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">2,882<span></span>
</td>
<td class="nump">10,372<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">2,639<span></span>
</td>
<td class="nump">6,239<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="nump">1,425<span></span>
</td>
<td class="nump">369<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes received</a></td>
<td class="num">$ (1,564)<span></span>
</td>
<td class="num">$ (44)<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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 changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GainLossOnSaleOfBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4582445-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations including 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126938201&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ProceedsFromDivestitureOfBusinesses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from the sale of a portion of the company's business, for example a segment, division, branch or other business, 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDivestitureOfBusinesses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>21
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073104762928">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>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, 2021</a></td>
<td class="nump">$ 183,610<span></span>
</td>
<td class="nump">$ 111<span></span>
</td>
<td class="nump">$ 43,272<span></span>
</td>
<td class="nump">$ 168,733<span></span>
</td>
<td class="num">$ (10,179)<span></span>
</td>
<td class="num">$ (18,845)<span></span>
</td>
<td class="nump">$ 518<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="num">(1,586)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,566)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(20)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive 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">49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(880)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(965)<span></span>
</td>
<td class="nump">85<span></span>
</td>
</tr>
<tr class="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 gain (loss) on cash flow hedges</a></td>
<td class="nump">551<span></span>
</td>
<td class="text">&#160;<span></span>
</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">551<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax', window );">Cash flow hedges reclassified to earnings</a></td>
<td class="nump">93<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">93<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(398)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,377)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">979<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">258<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">258<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 Mar. 31, 2022</a></td>
<td class="nump">181,697<span></span>
</td>
<td class="nump">111<span></span>
</td>
<td class="nump">42,153<span></span>
</td>
<td class="nump">167,167<span></span>
</td>
<td class="num">(9,200)<span></span>
</td>
<td class="num">(19,117)<span></span>
</td>
<td class="nump">583<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, 2022</a></td>
<td class="nump">137,598<span></span>
</td>
<td class="nump">111<span></span>
</td>
<td class="nump">41,303<span></span>
</td>
<td class="nump">123,169<span></span>
</td>
<td class="num">(6,240)<span></span>
</td>
<td class="num">(21,165)<span></span>
</td>
<td class="nump">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_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 loss</a></td>
<td class="num">(2,171)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,152)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(19)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive 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_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent', window );">Pension liability adjustment</a></td>
<td class="nump">40<span></span>
</td>
<td class="text">&#160;<span></span>
</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">40<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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,251<span></span>
</td>
<td class="text">&#160;<span></span>
</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,247<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="ro">
<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 gain (loss) on cash flow hedges</a></td>
<td class="num">(418)<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(418)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax', window );">Cash flow hedges reclassified to earnings</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">(170)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,236)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,066<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">884<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">884<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 Mar. 31, 2023</a></td>
<td class="nump">$ 137,014<span></span>
</td>
<td class="nump">$ 111<span></span>
</td>
<td class="nump">$ 40,951<span></span>
</td>
<td class="nump">$ 121,017<span></span>
</td>
<td class="num">$ (5,174)<span></span>
</td>
<td class="num">$ (20,296)<span></span>
</td>
<td class="nump">$ 405<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i-k)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of gain (loss) from accumulated other comprehensive income (AOCI) for 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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 stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>22
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106922608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders' Equity (Parenthetical) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<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">32,884<span></span>
</td>
<td class="nump">34,440<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073195461872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">Financial Statements</a></td>
<td class="text">Financial StatementsBasis of PresentationThe 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 months ended March 31, 2023 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2023. 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, 2022. 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>
</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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI https://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI https://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>24
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106490432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-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&#8217;s innovative engineering and product development solutions address the safety, reliability, and performance needs of its customers&#8217; most challenging requirements. The Company maintains locations in North America, South America, Europe, and Asia. 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 Chief Operating Decision Maker, who uses such information to make decisions about resources to be allocated to the segments, and (c) for which discrete financial information is available. Operating segments are evaluated on their segment profit contribution to the Company&#8217;s consolidated results. Other income and expenses, interest, income taxes, and certain other items are managed on a consolidated basis. The Company&#8217;s segment accounting policies are described in Note 2 Business Segments 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, 2022.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The operating results of the Company's reportable segments 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,388&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,039&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(348)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,010&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(791)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,816&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,074&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,148)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,032&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,794&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,900)</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td 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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment profit (loss) from operations, as shown above, includes allocated corporate operating expenses. Operating expenses related to corporate headquarter functions that directly support the segment activity are allocated 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. The expense allocation excludes certain corporate costs that are separately managed from the 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of reportable segment net profit (loss) to the Company&#8217;s consolidated total 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:75.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:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.633%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.012%"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating profit (loss) for reportable segments</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,032&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,900)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,388)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(370)</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"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other (expense) 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">563&#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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses and other unallocated charges</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,529)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(387)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,712)</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,094)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates assets of the Company by reportable segment for the periods presented:</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163,001&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">172,111&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104,581&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,598&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,236&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,516&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,560&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,085&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336,378&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">365,310&#160;</span></td><td style="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><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC business (&#8220;Chemtec&#8221;) for $5,344 in proceeds, subject to final working capital adjustments, generating a $2,033 loss on sale, recorded in &#8220;Other expense (income) - net.&#8221; The Chemtec business was reported in the Coatings and Measurement business unit within the Steel Products and Measurement segment.</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI https://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>25
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073109992304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text">Revenue<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s net sales by major product and service category 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: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%"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail Products and Global Friction Management</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56,048&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,651&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology Services and 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,336&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,059&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 colspan="2" style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Buildings</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,886&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,970&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Precast Concrete Products</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,402&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,040&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,010&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fabricated Steel Products</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,604&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Coatings and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,299&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,470&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,074&#160;</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 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,794&#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"/><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 style="color:#000000;font-family:'Times New Roman',sans-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',sans-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:99.583%"><tr><td style="width:1.0%"/><td style="width:44.227%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.497%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.870%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.497%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.870%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.497%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.870%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.497%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.875%"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2023</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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,834&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,402&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,726&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,962&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,550&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,886&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,090&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,526&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,816&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2022</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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,166&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,263&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,062&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,491&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,544&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,747&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,012&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,303&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,710&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,010&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,074&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,794&#160;</span></td><td style="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s performance obligations under long-term agreements with its customers are generally satisfied over time. Revenue under long-term agreements is generally recognized 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 </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">upon which measure the Company believes best depicts its performance to date under the terms of the contract. A certain portion of the Company&#8217;s revenue recognized over time under these long-term agreements is recognized using an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements.</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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales <br/>Three Months Ended March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,211&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,322&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19.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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,315&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,981&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.1&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,526&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,303&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.2&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.7&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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',sans-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&#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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company'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 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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,613&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net additions to contract 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,290&#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',sans-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:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,696)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,207&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company'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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,781&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,443)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,983&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments, including business divestiture</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,078)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,243&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records provisions related to the allowance for credit losses associated with contract assets. Provisions are recorded based upon a specific review of individual contracts as necessary, and a standard provision over any remaining contract assets pooled together based on similar risk of credit loss. The development of these provisions is based on historical collection trends, accuracy of estimates within contract margin reporting, as well as the expectation that collection patterns and margin reporting will continue to adhere to patterns observed in recent years. These expectations are formed based on trends observed, as well as current and expected future 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023, the Company had approximately $259,881 of obligations under new contracts and remaining performance obligations, which is also referred to as backlog. Approximately 8.9% of the March&#160;31, 2023 backlog was related to projects that are anticipated to extend beyond March&#160;31, 2024.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>26
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106516368">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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',sans-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: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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,948&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,785&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,733&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,078&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,785&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,863&#160;</span></td><td style="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><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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 included the impacts of current economic conditions, including but not limited to labor markets, supply chains, and </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">other inflationary costs. 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 March&#160;31, 2023. However, future impairment charges could result if future projections diverge unfavorably from current expectations in the Rail Technologies and Precast Concrete Products reporting units.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023 and December&#160;31, 2022, the components of the Company&#8217;s intangible assets were as follows:</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: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31, 2023</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',sans-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',sans-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',sans-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',sans-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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23)</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(187)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,413&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,965)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,448&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,957&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,142)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,815&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,253&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,848&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">291&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,307&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(45,758)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,549&#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><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: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2022</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',sans-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',sans-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',sans-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',sans-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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16)</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(187)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,184&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,129)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,055&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,989)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,944&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,201&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,374&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">304&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,002&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(44,171)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,831&#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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI https://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106358176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in reserves for uncollectible accounts, which are recorded as part of &#8220;Selling and administrative expenses&#8221; in the Condensed Consolidated Statements of Operations, were recorded as an expense of $155 and $61 for the three months ended March 31, 2023 and 2022, 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company establishes the allowance for credit losses based on historical collection patterns and other subjective conditions as necessary, including current and expected market conditions. Trade receivables are pooled based on age, which groups receivables of similar credit risk together. Management maintains stringent credit review practices and works to maintain positive customer relationships to further mitigate credit risk.</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">813&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(100)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">868&#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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -URI https://asc.fasb.org/subtopic&amp;trid=2196772<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>28
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106384048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-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 as of March&#160;31, 2023 and December&#160;31, 2022 are summarized in the following table:</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: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,754&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,431&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,844&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,693&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,996&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,597&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,594&#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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,721&#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><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106433360">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,825&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,567&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">271&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,096&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,879&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(117)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(127)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,979&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,752&#160;</span></td><td style="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August&#160;13, 2021, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the &#8220;Borrowers&#8221;), entered into the Fourth Amended and Restated Credit Agreement (the &#8220;Credit Agreement&#8221;) with PNC Bank, N.A., Citizens Bank, N.A., Wells Fargo Bank, National Association, Bank of America, N.A., and BMO Harris Bank, National Association. The Credit Agreement, as amended, modifies the prior revolving credit facility, as amended, on terms more favorable to the Company and extends the maturity from April 30, 2024 to August&#160;13, 2026. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $130,000 (a $15,000 increase over the previous commitment) with a sublimit of the equivalent of $25,000 U.S. dollars that is available to the Canadian and United Kingdom borrowers in the aggregate. The Credit Agreement&#8217;s incremental loan feature permits the Company to increase the available commitments under the facility by up to an additional $50,000 subject to the Company&#8217;s receipt of increased commitments from existing or new lenders and the satisfaction of certain conditions.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement as amended, will bear interest at rates based upon either the base rate or SOFR rate plus applicable margins. The Credit Agreement includes two financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company&#8217;s consolidated Indebtedness (as defined in the Credit Agreement) divided by the Company&#8217;s consolidated EBITDA, which must not exceed (i) 3.25 to 1.00 for all testing periods other than during an Acquisition Period  (as defined in the Credit Agreement), and (ii) 3.50 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 (as defined in the Credit Agreement), which must be more than 1.05 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 12, 2022, the Company entered into a second amendment to its Credit Agreement (&#8220;Second Amendment&#8221;) to obtain approval for the VanHooseCo acquisition (as defined below) and temporarily modify certain financial covenants to accommodate the transaction. The Second Amendment permitted the Company to acquire the operating assets of VanHooseCo and modified the Maximum Gross Leverage Ratio covenant to 3.75 through June 30, 2023 to accommodate the transaction.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $1,084.</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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>30
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103383984">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted loss 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:75.288%"/><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.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="display:none"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator for basic and diluted loss per common share:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,171)</span></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,586)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,685&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic loss per common share</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,685&#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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted loss per common share - adjusted weighted average shares outstanding</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,685&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic loss per common share</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.15)</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted loss per common share</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.15)</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"/><td 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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were 101 and 122 anti-dilutive shares for the three months ended March 31, 2023 and 2022, respectively, excluded from the calculation.</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>31
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106536256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">Income TaxesFor the three months ended March 31, 2023 and 2022, the Company recorded an income tax benefit of $541 and $508, respectively, on pre-tax losses of $2,712 and $2,094, respectively, for an effective income tax rate of 19.9% and 24.3%, respectively. Due to the full valuation allowance on domestic deferred tax assets, the Company's tax provision for the three months ended March 31, 2023 does not reflect any tax benefit for domestic pre-tax losses, and is primarily comprised of taxes on our Canadian and United Kingdom operations. The Company continued to maintain a full valuation allowance against its U.S. deferred tax assets, which is likely to result in significant variability of the effective tax rate in the current year. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, could also impact the effective income tax rate each quarter.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>32
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073108027040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationAbstract', window );"><strong>Share-Based Payment Arrangement, Noncash Expense [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded stock-based compensation expense of $884 and $258 for the three months ended March 31, 2023 and 2022, respectively, related to restricted stock awards and performance unit awards. As of March&#160;31, 2023, unrecognized compensation expense for awards that the Company expects to vest approximated $7,388. The Company will recognize this unrecognized compensation expense over the upcoming 2.9 years through March 2026.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shares issued as a result of vested stock-based compensation awards generally will be from previously issued shares that have been reacquired by the Company and held as treasury stock or authorized and previously unissued common stock.</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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock, Performance Share Units, and Performance-Based Stock Awards</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the 2022 Equity and Incentive Compensation Plan, successor to the 2006 Omnibus Plan, the Company grants eligible employees restricted stock and performance 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. Awards of restricted stock are subject to a minimum one-year vesting period, including those granted to non-employee directors. Performance share units are offered annually under separate three-year long-term incentive programs. Performance share units are subject to forfeiture and will be converted into common stock of the Company based upon the Company&#8217;s performance relative to performance measures and conversion multiples, as defined in the underlying program. The Company has, on occasion, issued performance share units with longer performance periods as incentivization and retention tools. If the Company&#8217;s estimate of the number of performance share units expected to vest changes in a subsequent accounting period, cumulative compensation expense could increase or decrease. The change will be recognized in the current period for the vested shares and would change future expense over the remaining vesting 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Since 2017, non-employee directors have been permitted to defer receipt of annual stock awards and equity elected to be received in lieu of quarterly cash compensation. If so elected, these deferred stock units will be issued as common stock six months after separation from their service on the Board of Directors. Since 2018, no non-employee directors have elected the option to receive deferred stock units of the Company&#8217;s common stock in lieu of director cash compensation.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2023, the Compensation Committee approved the 2023-2025 Long Term Incentive Plan which includes grants of performance share units and restricted stock. The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the three months ended March&#160;31, 2023:</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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deferred<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">174,173&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,268&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,478&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.77&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,990&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">367,558&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.64&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(57,329)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.54&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment for incentive awards expected to vest</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,104&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.36&#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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,834&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,268&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">496,140&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.61&#160;</span></td><td style="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><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>33
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106354592">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines the fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level&#160;1: Observable inputs that reflect unadjusted 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level&#160;2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level&#160;3: 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',sans-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"><table 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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</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',sans-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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term deposits</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swaps</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,511&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,511&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,930&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,930&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,528&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,511&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,947&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,930&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td 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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March&#160;31, 2023 and 2022, the Company recognized interest income of $245 and interest expense of $97, 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>34
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106433360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract', window );"><strong>Employee-related Liabilities [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="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Retirement Plans</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has three retirement plans that cover its hourly and salaried employees in the United States: one defined benefit plan, which is frozen, and two defined contribution plans. Employees are eligible to participate in the appropriate plan based on employment classification. The Company&#8217;s contributions to the defined benefit and 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.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">United States Defined Benefit Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs for the United States defined benefit pension plan for the three months ended March 31, 2023 and 2022 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 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: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="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 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="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71&#160;</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49&#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',sans-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="3" style="display:none"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension cost</span></td><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"/><td style="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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23&#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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company expects to make total contributions of $400 to its to its United States defined benefit pension plan during 2023.</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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">United Kingdom Defined Benefit Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs for the United Kingdom defined benefit pension plan for the three months ended March 31, 2023 and 2022 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 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: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="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 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="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45&#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',sans-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="3" style="display:none"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(83)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(81)</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',sans-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="3" style="display:none"/><td colspan="3" style="display:none"/><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',sans-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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#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',sans-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="3" style="display:none"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension (income) cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19)</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United Kingdom regulations require trustees to adopt a prudent approach to funding required contributions to defined benefit pension plans. For the three months ended March 31, 2023, the Company contributed approximately $84 to the plan. The Company anticipates total contributions of approximately $340 to the United Kingdom pension plan during 2023.</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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Defined Contribution Plans</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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 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%"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">614&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">305&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">261&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">135&#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: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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">937&#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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">501&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><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_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=21916913&amp;loc=d3e273930-122802<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI https://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39689-114964<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>35
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103383984">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Product Liability Claims</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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, which is adjusted on a monthly basis 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',sans-serif;font-size:10pt;font-style:italic;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',sans-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 pending litigation in the matter of </span><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, Case No. CI 15-564, in the District Court for Douglas County, Nebraska.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the Settlement Agreement, the Company and CXT will 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 </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. Additionally, commencing in January 2019 and through December 2024, UPRR agreed to purchase and has been purchasing from the Company and its subsidiaries and affiliates, a cumulative total amount of $48,000 of products and services, targeting $8,000 of annual purchases per year beginning March 13, 2019 per letters of intent under the Settlement Agreement. During the third quarter of 2021, in connection with the Company&#8217;s divestiture of its Piling Products division, the targeted annual purchases per year have been reduced to $6,000 for 2021 through 2024. The Settlement Agreement also includes a mutual release of all claims and liability regarding or relating to all CXT pre-stressed concrete railroad ties with no admission of liability and dismissal of the litigation with prejudice.</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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected payments under the UPRR Settlement Agreement for the remainder of the year ending December&#160;31, 2023 and thereafter are 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:87.233%"/><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.012%"/><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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ending December 31,</span></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,000&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,000&#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"/></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><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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,000&#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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Environmental and Legal Proceedings</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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. 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. The Company cannot predict the ultimate impact of these proceedings 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 March&#160;31, 2023 and December&#160;31, 2022, the Company maintained environmental reserves approximating $2,448 and $2,472, 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',sans-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 March&#160;31, 2023.</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',sans-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 March&#160;31, 2023, 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>36
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106386480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statements (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">Basis of PresentationThe 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 months ended March 31, 2023 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2023. 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, 2022. 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>
</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106922736">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock', window );">Schedule of Reconciliation of Revenue from Segments to Consolidated</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The operating results of the Company's reportable segments 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31, 2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Segment Operating Profit (Loss)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,388&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,039&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(348)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,010&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(791)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,816&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,074&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,148)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,032&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,794&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,900)</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td 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><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock', window );">Schedule of Reconciliation of Operating Profit (Loss) from Segments to Consolidated</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of reportable segment net profit (loss) to the Company&#8217;s consolidated total 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:75.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:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.633%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.012%"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating profit (loss) for reportable segments</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,032&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,900)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,388)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(370)</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"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other (expense) 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">563&#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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses and other unallocated charges</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,529)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(387)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,712)</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,094)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock', window );">Schedule of Reconciliation of Assets from Segment to Consolidated</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates assets of the Company by reportable segment for the periods presented:</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163,001&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">172,111&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104,581&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,598&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,236&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,516&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,560&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,085&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336,378&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">365,310&#160;</span></td><td style="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><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_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>38
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105151840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</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 Revenues by Major Product Line</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s net sales by major product and service category 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: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%"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rail Products and Global Friction Management</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56,048&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,651&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology Services and 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,336&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,059&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 colspan="2" style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Buildings</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,886&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,970&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Precast Concrete Products</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,402&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,040&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,010&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fabricated Steel Products</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,604&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Coatings and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,299&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,470&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,074&#160;</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 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,794&#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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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',sans-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:99.583%"><tr><td style="width:1.0%"/><td style="width:44.227%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.497%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.870%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.497%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.870%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.497%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.870%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.497%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.875%"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2023</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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,834&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,402&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,726&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,962&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,550&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,886&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,090&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,526&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,384&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,288&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,816&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,488&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2022</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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,166&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,263&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,062&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,491&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,544&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,747&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,012&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,303&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,710&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,010&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,074&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,794&#160;</span></td><td style="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 style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Percentage of Total Net Sales <br/>Three Months Ended March 31,</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,211&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,322&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19.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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,315&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,981&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.1&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,526&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,303&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.2&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.7&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company'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 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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,613&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net additions to contract 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,290&#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',sans-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:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,696)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,207&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company'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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,781&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,443)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,983&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments, including business divestiture</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,078)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,243&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>39
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103300128">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">The following table presents the changes in goodwill balance by reportable segment for the period presented:<table 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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Precast Concrete Products</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Steel Products and Measurement</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,948&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,785&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,733&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,078&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,785&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,863&#160;</span></td><td style="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><span></span>
</td>
</tr>
<tr class="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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023 and December&#160;31, 2022, the components of the Company&#8217;s intangible assets were as follows:</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: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31, 2023</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',sans-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',sans-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',sans-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',sans-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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23)</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(187)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,413&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,965)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,448&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,957&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,142)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,815&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,253&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,848&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">291&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,307&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(45,758)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,549&#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><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: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2022</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',sans-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',sans-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',sans-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',sans-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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16)</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(187)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,184&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,129)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,055&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,989)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,944&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,201&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,374&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Favorable lease</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">304&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,002&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(44,171)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,831&#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><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=SL108378252-109267<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>40
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106408272">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">813&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(100)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">868&#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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>41
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106473360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 as of March&#160;31, 2023 and December&#160;31, 2022 are summarized in the following 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: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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,754&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,431&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,844&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,693&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,996&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,597&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,594&#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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,721&#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><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>42
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106408272">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,825&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,567&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">271&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,096&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,879&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(117)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(127)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,979&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,752&#160;</span></td><td style="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><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21506-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69E<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495743-112612<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21521-112644<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21538-112644<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123599511&amp;loc=d3e64711-112823<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>43
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106473360">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted loss 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:75.288%"/><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.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="display:none"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator for basic and diluted loss per common share:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,171)</span></td><td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,586)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,685&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic loss per common share</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,685&#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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted loss per common share - adjusted weighted average shares outstanding</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,792&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,685&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic loss per common share</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.15)</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted loss per common share</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.15)</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"/><td 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><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>44
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106438080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationAbstract', window );"><strong>Share-Based Payment Arrangement, Noncash Expense [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock', window );">Schedule of Nonvested Share Activity</a></td>
<td class="text">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the three months ended March&#160;31, 2023:<table 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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deferred<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2022</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">174,173&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,268&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,478&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.77&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,990&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">367,558&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.64&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(57,329)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.54&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment for incentive awards expected to vest</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,104&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.36&#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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of March 31, 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,834&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,268&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">496,140&#160;</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.61&#160;</span></td><td style="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><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>45
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073108027040">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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"><table 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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">March 31,<br/>2023</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',sans-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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31,<br/>2022</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',sans-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',sans-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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Level 3</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term deposits</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swaps</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,511&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,511&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,930&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,930&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,528&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,511&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,947&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,930&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td 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><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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>46
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105237360">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock', window );">Schedule of 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:<table 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%"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">614&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">305&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61&#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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">261&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">135&#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: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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">937&#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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">501&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table><span></span>
</td>
</tr>
<tr class="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" 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs for the United States defined benefit pension plan for the three months ended March 31, 2023 and 2022 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 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: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="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</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:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 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="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71&#160;</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49&#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',sans-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="3" style="display:none"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66)</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognized net actuarial loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension cost</span></td><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"/><td style="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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23&#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',sans-serif;font-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#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><span></span>
</td>
</tr>
<tr class="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="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" 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net periodic pension costs for the United Kingdom defined benefit pension plan for the three months ended March 31, 2023 and 2022 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 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: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="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2023</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',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-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 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="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55&#160;</span></td><td style="background-color:#cceeff;border-top:1pt 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45&#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',sans-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="3" style="display:none"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(83)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(81)</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',sans-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="3" style="display:none"/><td colspan="3" style="display:none"/><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',sans-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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#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',sans-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="3" style="display:none"/><td colspan="3" style="display:none"/><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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic pension (income) cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19)</span></td><td style="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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="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><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_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNetBenefitCostsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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>47
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073106940800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingent Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock', window );">Schedule Of Future Payments Of Legal Settlements</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected payments under the UPRR Settlement Agreement for the remainder of the year ending December&#160;31, 2023 and thereafter are 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:87.233%"/><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.012%"/><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',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ending December 31,</span></td><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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of 2023</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,000&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,000&#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"/></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><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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,000&#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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Future Payments Of Legal Settlements</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073100359248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting 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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">$ 115,488<span></span>
</td>
<td class="nump">$ 98,794<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment Operating Profit (Loss)</a></td>
<td class="nump">503<span></span>
</td>
<td class="num">(2,287)<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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">115,488<span></span>
</td>
<td class="nump">98,794<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment Operating Profit (Loss)</a></td>
<td class="nump">2,032<span></span>
</td>
<td class="num">(1,900)<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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">64,384<span></span>
</td>
<td class="nump">63,710<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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">64,384<span></span>
</td>
<td class="nump">63,710<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment Operating Profit (Loss)</a></td>
<td class="nump">2,388<span></span>
</td>
<td class="nump">1,039<span></span>
</td>
</tr>
<tr class="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_PrecastConcreteProductsMember', window );">Precast Concrete Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">24,288<span></span>
</td>
<td class="nump">15,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_PrecastConcreteProductsMember', window );">Precast Concrete Products | Operating Segments</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting 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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">24,288<span></span>
</td>
<td class="nump">15,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_OperatingIncomeLoss', window );">Segment Operating Profit (Loss)</a></td>
<td class="num">(348)<span></span>
</td>
<td class="num">(791)<span></span>
</td>
</tr>
<tr class="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_SteelProductsAndMeasurementMember', window );">Steel Products and Measurement</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting 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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">26,816<span></span>
</td>
<td class="nump">20,074<span></span>
</td>
</tr>
<tr class="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_SteelProductsAndMeasurementMember', window );">Steel Products and Measurement | Operating Segments</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">26,816<span></span>
</td>
<td class="nump">20,074<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment Operating Profit (Loss)</a></td>
<td class="num">$ (8)<span></span>
</td>
<td class="num">$ (2,148)<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=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_PrecastConcreteProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_PrecastConcreteProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_SteelProductsAndMeasurementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_SteelProductsAndMeasurementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105552464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems', window );"><strong>Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit (loss) for reportable segments</a></td>
<td class="nump">$ 503<span></span>
</td>
<td class="num">$ (2,287)<span></span>
</td>
</tr>
<tr class="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 (expense) income - net</a></td>
<td class="num">(1,827)<span></span>
</td>
<td class="nump">563<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 );">Loss before income taxes</a></td>
<td class="num">(2,712)<span></span>
</td>
<td class="num">(2,094)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segments</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_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems', window );"><strong>Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit (loss) for reportable segments</a></td>
<td class="nump">2,032<span></span>
</td>
<td class="num">(1,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_InterestIncomeExpenseNet', window );">Interest expense - net</a></td>
<td class="num">(1,388)<span></span>
</td>
<td class="num">(370)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other (expense) income - net</a></td>
<td class="num">(1,827)<span></span>
</td>
<td class="nump">563<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_CorporateExpenseAndOtherUnallocatedCharges', window );">Unallocated corporate expenses and other unallocated charges</a></td>
<td class="num">(1,529)<span></span>
</td>
<td class="num">(387)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income taxes</a></td>
<td class="num">$ (2,712)<span></span>
</td>
<td class="num">$ (2,094)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_CorporateExpenseAndOtherUnallocatedCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Expense And Other Unallocated 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_CorporateExpenseAndOtherUnallocatedCharges</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of operating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.10)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103311456">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Business Segments - Reconciliation of Assets from Segment to Consolidated (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting 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_Assets', window );">Assets</a></td>
<td class="nump">$ 336,378<span></span>
</td>
<td class="nump">$ 365,310<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
</tr>
<tr class="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>
</tr>
<tr class="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">163,001<span></span>
</td>
<td class="nump">172,111<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segments | Precast Concrete Products</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting 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_Assets', window );">Assets</a></td>
<td class="nump">104,581<span></span>
</td>
<td class="nump">108,598<span></span>
</td>
</tr>
<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 | Steel Products and Measurement</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</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_Assets', window );">Assets</a></td>
<td class="nump">38,236<span></span>
</td>
<td class="nump">54,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_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Unallocated corporate assets</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting 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_Assets', window );">Assets</a></td>
<td class="nump">$ 30,560<span></span>
</td>
<td class="nump">$ 30,085<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_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_PrecastConcreteProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_PrecastConcreteProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_SteelProductsAndMeasurementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_SteelProductsAndMeasurementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073104785664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Segments - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromDivestitureOfBusinesses', window );">Proceeds from business dispositions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,344<span></span>
</td>
<td class="nump">$ 1,195<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfBusiness', window );">Loss on asset divestitures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,033<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_dei_LegalEntityAxis=fstr_ChemtecEnergyServicesLLCMember', window );">Chemtec Energy Services LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromDivestitureOfBusinesses', window );">Proceeds from business dispositions</a></td>
<td class="nump">$ 5,344<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfBusiness', window );">Loss on asset divestitures</a></td>
<td class="nump">$ 2,033<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4582445-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromDivestitureOfBusinesses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from the sale of a portion of the company's business, for example a segment, division, branch or other business, 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDivestitureOfBusinesses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_dei_LegalEntityAxis=fstr_ChemtecEnergyServicesLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=fstr_ChemtecEnergyServicesLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103668160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Sales by Major Product Line (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 115,488<span></span>
</td>
<td class="nump">$ 98,794<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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">64,384<span></span>
</td>
<td class="nump">63,710<span></span>
</td>
</tr>
<tr class="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_PrecastConcreteProductsMember', window );">Precast Concrete Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">24,288<span></span>
</td>
<td class="nump">15,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_SteelProductsAndMeasurementMember', window );">Steel Products and Measurement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">26,816<span></span>
</td>
<td class="nump">20,074<span></span>
</td>
</tr>
<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_RailProductsAndFrictionManagementMember', window );">Rail Products and Global Friction Management | Rail, Technologies, and Services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">56,048<span></span>
</td>
<td class="nump">51,651<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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">8,336<span></span>
</td>
<td class="nump">12,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=fstr_PrecastConcreteBuildingsMember', window );">Precast Concrete Buildings | Precast Concrete Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">10,886<span></span>
</td>
<td class="nump">9,970<span></span>
</td>
</tr>
<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_OtherPrecastConcreteProductsMember', window );">Other Precast Concrete Products | Precast Concrete Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">13,402<span></span>
</td>
<td class="nump">5,040<span></span>
</td>
</tr>
<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_FabricatedSteelProductsMember', window );">Fabricated Steel Products | Steel Products and Measurement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">10,517<span></span>
</td>
<td class="nump">12,604<span></span>
</td>
</tr>
<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_CoatingsAndMeasurementMember', window );">Coatings and Measurement | Steel Products and Measurement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 16,299<span></span>
</td>
<td class="nump">$ 7,470<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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PrecastConcreteProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_PrecastConcreteProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_SteelProductsAndMeasurementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_SteelProductsAndMeasurementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_RailProductsAndFrictionManagementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RailProductsAndFrictionManagementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fstr_PrecastConcreteBuildingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PrecastConcreteBuildingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_OtherPrecastConcreteProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OtherPrecastConcreteProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_FabricatedSteelProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_FabricatedSteelProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CoatingsAndMeasurementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CoatingsAndMeasurementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073100241120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Timing of Transfer (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 115,488<span></span>
</td>
<td class="nump">$ 98,794<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">82,962<span></span>
</td>
<td class="nump">68,491<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">32,526<span></span>
</td>
<td class="nump">30,303<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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">64,384<span></span>
</td>
<td class="nump">63,710<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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">53,834<span></span>
</td>
<td class="nump">49,166<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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>
</tr>
<tr class="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">10,550<span></span>
</td>
<td class="nump">14,544<span></span>
</td>
</tr>
<tr class="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_PrecastConcreteProductsMember', window );">Precast Concrete Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">24,288<span></span>
</td>
<td class="nump">15,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_PrecastConcreteProductsMember', window );">Precast Concrete Products | Point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">13,402<span></span>
</td>
<td class="nump">4,263<span></span>
</td>
</tr>
<tr class="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_PrecastConcreteProductsMember', window );">Precast Concrete Products | Over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">10,886<span></span>
</td>
<td class="nump">10,747<span></span>
</td>
</tr>
<tr class="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_SteelProductsAndMeasurementMember', window );">Steel Products and Measurement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">26,816<span></span>
</td>
<td class="nump">20,074<span></span>
</td>
</tr>
<tr class="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_SteelProductsAndMeasurementMember', window );">Steel Products and Measurement | Point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">15,726<span></span>
</td>
<td class="nump">15,062<span></span>
</td>
</tr>
<tr class="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_SteelProductsAndMeasurementMember', window );">Steel Products and Measurement | Over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net sales</a></td>
<td class="nump">$ 11,090<span></span>
</td>
<td class="nump">$ 5,012<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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PrecastConcreteProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_PrecastConcreteProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_SteelProductsAndMeasurementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_SteelProductsAndMeasurementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105210112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Over Time Sales (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_OverTimeSalesAmount', window );">Over time sales, amount</a></td>
<td class="nump">$ 32,526<span></span>
</td>
<td class="nump">$ 30,303<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">28.20%<span></span>
</td>
<td class="nump">30.70%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=fstr_OverTimeInputMethodMember', window );">Over time input method</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_OverTimeSalesAmount', window );">Over time sales, amount</a></td>
<td class="nump">$ 16,211<span></span>
</td>
<td class="nump">$ 19,322<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">14.00%<span></span>
</td>
<td class="nump">19.60%<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</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">$ 16,315<span></span>
</td>
<td class="nump">$ 10,981<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">14.10%<span></span>
</td>
<td class="nump">11.10%<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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>55
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073101730688">
<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="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets</a></td>
<td class="nump">$ 31,207<span></span>
</td>
<td class="nump">$ 33,613<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of December 31, 2022</a></td>
<td class="nump">3,243<span></span>
</td>
<td class="nump">$ 6,781<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Contract assets transferred to receivables</a></td>
<td class="nump">3,696<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_ContractWithCustomerLiabilityIncreaseFromCashReceipts', window );">Increase in billings in excess of cost, excluding revenue recognized</a></td>
<td class="nump">1,983<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 liability</a></td>
<td class="nump">$ 3,443<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_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130533-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<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>56
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105216400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Contract with Customer (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward', window );"><strong>Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Balance as of December 31, 2022</a></td>
<td class="nump">$ 33,613<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_ContractWithCustomerAssetAdditions', window );">Net additions to contract assets</a></td>
<td class="nump">1,290<span></span>
</td>
</tr>
<tr class="ro">
<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="num">(3,696)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Balance as of March 31, 2023</a></td>
<td class="nump">31,207<span></span>
</td>
</tr>
<tr class="ro">
<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 With Customer Liability [Roll Forward]</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_ContractWithCustomerLiability', window );">Balance as of December 31, 2022</a></td>
<td class="nump">6,781<span></span>
</td>
</tr>
<tr class="ro">
<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="num">(3,443)<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_ContractWithCustomerLiabilityIncreaseFromCashReceipts', window );">Increase in billings in excess of cost, excluding revenue recognized</a></td>
<td class="nump">1,983<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_ContractWithCustomerLiabilityOtherAdjustments', window );">Other adjustments, including business divestiture</a></td>
<td class="num">(2,078)<span></span>
</td>
</tr>
<tr class="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 March 31, 2023</a></td>
<td class="nump">$ 3,243<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_ContractWithCustomerAssetAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Additions</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ContractWithCustomerAssetAdditions</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_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_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_ContractWithCustomerLiabilityOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Other Adjustments</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_ContractWithCustomerLiabilityOtherAdjustments</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130533-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>57
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073104828736">
<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>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_RevenueRemainingPerformanceObligation', window );">Revenue remaining performance obligation</a></td>
<td class="nump">$ 259,881<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-04-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-04-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 (percentage)</a></td>
<td class="nump">8.90%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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=2023-04-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-04-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073104760864">
<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">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 30,733<span></span>
</td>
</tr>
<tr class="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">130<span></span>
</td>
</tr>
<tr class="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">30,863<span></span>
</td>
</tr>
<tr class="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">19,948<span></span>
</td>
</tr>
<tr class="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">130<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, ending balance</a></td>
<td class="nump">20,078<span></span>
</td>
</tr>
<tr class="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_PrecastConcreteProductsMember', window );">Precast Concrete Products</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">10,785<span></span>
</td>
</tr>
<tr class="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">10,785<span></span>
</td>
</tr>
<tr class="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_SteelProductsAndMeasurementMember', window );">Steel Products and Measurement</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">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation impact</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, ending balance</a></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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PrecastConcreteProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_PrecastConcreteProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_SteelProductsAndMeasurementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_SteelProductsAndMeasurementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073102642416">
<tr>
<th class="tl" colspan="1" rowspan="2"><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" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets</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">$ 68,307<span></span>
</td>
<td class="nump">$ 68,002<span></span>
</td>
</tr>
<tr class="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">(45,758)<span></span>
</td>
<td class="num">(44,171)<span></span>
</td>
</tr>
<tr class="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">22,549<span></span>
</td>
<td class="nump">23,831<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">27<span></span>
</td>
<td class="nump">27<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(23)<span></span>
</td>
<td class="num">(16)<span></span>
</td>
</tr>
<tr class="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">4<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="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="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">330<span></span>
</td>
<td class="nump">330<span></span>
</td>
</tr>
<tr class="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">(187)<span></span>
</td>
<td class="num">(187)<span></span>
</td>
</tr>
<tr class="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">143<span></span>
</td>
<td class="nump">143<span></span>
</td>
</tr>
<tr class="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="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">27,413<span></span>
</td>
<td class="nump">27,184<span></span>
</td>
</tr>
<tr class="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">(14,965)<span></span>
</td>
<td class="num">(14,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_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Amount</a></td>
<td class="nump">12,448<span></span>
</td>
<td class="nump">13,055<span></span>
</td>
</tr>
<tr class="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="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">7,957<span></span>
</td>
<td class="nump">7,933<span></span>
</td>
</tr>
<tr class="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">(4,142)<span></span>
</td>
<td class="num">(3,989)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Amount</a></td>
<td class="nump">3,815<span></span>
</td>
<td class="nump">3,944<span></span>
</td>
</tr>
<tr class="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="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">32,253<span></span>
</td>
<td class="nump">32,201<span></span>
</td>
</tr>
<tr class="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">(26,405)<span></span>
</td>
<td class="num">(25,827)<span></span>
</td>
</tr>
<tr class="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">5,848<span></span>
</td>
<td class="nump">6,374<span></span>
</td>
</tr>
<tr class="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="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">327<span></span>
</td>
<td class="nump">327<span></span>
</td>
</tr>
<tr class="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">(36)<span></span>
</td>
<td class="num">(23)<span></span>
</td>
</tr>
<tr class="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">$ 291<span></span>
</td>
<td class="nump">$ 304<span></span>
</td>
</tr>
<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 | Non-compete agreements</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">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
</tr>
<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">16 years<span></span>
</td>
<td class="text">16 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">16 years<span></span>
</td>
<td class="text">16 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">14 years<span></span>
</td>
<td class="text">14 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>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>60
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105327856">
<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>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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</a></td>
<td class="nump">$ 155<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>
</tr>
<tr class="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>
</tr>
<tr class="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</a></td>
<td class="nump">$ 155<span></span>
</td>
<td class="nump">$ 61<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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>61
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073100315696">
<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">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward', window );"><strong>Allowance for Doubtful Accounts</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">$ 813<span></span>
</td>
</tr>
<tr class="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">155<span></span>
</td>
</tr>
<tr class="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">(100)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Allowance for doubtful accounts, ending balance</a></td>
<td class="nump">$ 868<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>62
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073105256720">
<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>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">$ 47,754<span></span>
</td>
<td class="nump">$ 41,431<span></span>
</td>
</tr>
<tr class="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">8,844<span></span>
</td>
<td class="nump">9,693<span></span>
</td>
</tr>
<tr class="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">27,996<span></span>
</td>
<td class="nump">24,597<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">$ 84,594<span></span>
</td>
<td class="nump">$ 75,721<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>63
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073104800064">
<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>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 79,825<span></span>
</td>
<td class="nump">$ 91,567<span></span>
</td>
</tr>
<tr class="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">271<span></span>
</td>
<td class="nump">312<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">80,096<span></span>
</td>
<td class="nump">91,879<span></span>
</td>
</tr>
<tr class="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">(117)<span></span>
</td>
<td class="num">(127)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligations', window );">Long-term portion</a></td>
<td class="nump">$ 79,979<span></span>
</td>
<td class="nump">$ 91,752<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.13,16)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.16)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>64
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073104854304">
<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>Aug. 13, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($) </div>
<div>covenant</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Aug. 12, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.75<span></span>
</td>
</tr>
<tr class="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">$ 79,825,000<span></span>
</td>
<td class="nump">$ 91,567,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember', window );">PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Fourth 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 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.05<span></span>
</td>
<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_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember', window );">PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Fourth 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="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_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="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">3.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_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember', window );">PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Fourth 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="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_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_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember', window );">PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Revolving credit facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 1,084,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_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember', window );">PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Revolving credit facility | Fourth 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_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="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">$ 130,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption', window );">Line of credit, accordion feature, lower borrowing capacity</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_LineOfCreditFacilityMaximumIncreaseInCommitments', window );">Line of credit facility, maximum increase in commitments</a></td>
<td class="nump">50,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_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember', window );">PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association | Revolving credit facility | Prior 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_LineOfCreditFacilityIncreaseDecreaseForPeriodNet', window );">Line of credit facility increase over previous commitment</a></td>
<td class="nump">$ 15,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_fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line of Credit, Accordion Feature, Lower Borrowing Capacity Option</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption</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_LineOfCreditFacilityMaximumIncreaseInCommitments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Maximum Increase In Commitments</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_LineOfCreditFacilityMaximumIncreaseInCommitments</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LineOfCreditFacilityIncreaseDecreaseForPeriodNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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) of the credit facility.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_FourthAmendedAndRestatedCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_FourthAmendedAndRestatedCreditAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_DebtInstrumentAxis=fstr_PriorCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_PriorCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073109201776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAbstract', window );"><strong>Numerator for basic and diluted loss per common share:</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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest', window );">Net loss</a></td>
<td class="num">$ (2,171)<span></span>
</td>
<td class="num">$ (1,586)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic', window );">Weighted average shares outstanding (in shares)</a></td>
<td class="nump">10,792<span></span>
</td>
<td class="nump">10,685<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 loss per common share (in shares)</a></td>
<td class="nump">10,792<span></span>
</td>
<td class="nump">10,685<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract', window );"><strong>Effect of dilutive securities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 loss per common share - adjusted weighted average shares outstanding (in shares)</a></td>
<td class="nump">10,792<span></span>
</td>
<td class="nump">10,685<span></span>
</td>
</tr>
<tr class="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 loss per common share (usd per share)</a></td>
<td class="num">$ (0.20)<span></span>
</td>
<td class="num">$ (0.15)<span></span>
</td>
</tr>
<tr class="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 loss per common share (usd per share)</a></td>
<td class="num">$ (0.20)<span></span>
</td>
<td class="num">$ (0.15)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive shares (in shares)</a></td>
<td class="nump">101<span></span>
</td>
<td class="nump">122<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations including 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2646-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>66
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073101699664">
<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>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax benefit</a></td>
<td class="num">$ (541)<span></span>
</td>
<td class="num">$ (508)<span></span>
</td>
</tr>
<tr class="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 );">Loss before income taxes</a></td>
<td class="num">$ (2,712)<span></span>
</td>
<td class="num">$ (2,094)<span></span>
</td>
</tr>
<tr class="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 (percent)</a></td>
<td class="nump">19.90%<span></span>
</td>
<td class="nump">24.30%<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073101803024">
<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>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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">$ 884<span></span>
</td>
<td class="nump">$ 258<span></span>
</td>
</tr>
<tr class="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">$ 7,388<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2 years 10 months 24 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_srt_TitleOfIndividualAxis=srt_DirectorMember', window );">Director</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod', window );">Deferred receipt period</a></td>
<td class="text">6 months<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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 884<span></span>
</td>
<td class="nump">258<span></span>
</td>
</tr>
<tr class="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 | Vesting period one</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></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_RestrictedStockMember', window );">Restricted Stock | Vesting period two | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></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_PerformanceSharesMember', window );">Performance-Based Stock and Share Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</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_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">$ 884<span></span>
</td>
<td class="nump">$ 258<span></span>
</td>
</tr>
<tr class="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">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_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Deferred Receipt 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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>68
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103448688">
<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">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </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 );">Outstanding, Beginning balance (usd per share) | $ / shares</a></td>
<td class="nump">$ 17.77<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (usd per share) | $ / shares</a></td>
<td class="nump">11.64<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (usd per share) | $ / shares</a></td>
<td class="nump">16.54<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue', window );">Adjustment for incentive awards expected to vest (usd per share) | $ / shares</a></td>
<td class="nump">15.36<span></span>
</td>
</tr>
<tr class="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 );">Outstanding, Ending balance (usd per share) | $ / shares</a></td>
<td class="nump">$ 14.61<span></span>
</td>
</tr>
<tr class="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, Deferred Stock Units 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">174,173<span></span>
</td>
</tr>
<tr class="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">139,990<span></span>
</td>
</tr>
<tr class="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">(57,329)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest', window );">Adjustment for incentive awards expected to vest (in shares)</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding, Ending balance (in shares)</a></td>
<td class="nump">256,834<span></span>
</td>
</tr>
<tr class="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=fstr_DeferredStockUnitsMember', window );">Deferred Stock 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, Deferred Stock Units 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">46,268<span></span>
</td>
</tr>
<tr class="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">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest', window );">Adjustment for incentive awards expected to vest (in shares)</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding, Ending balance (in shares)</a></td>
<td class="nump">46,268<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance-Based Stock and Share Units</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, Deferred Stock Units 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">108,478<span></span>
</td>
</tr>
<tr class="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">367,558<span></span>
</td>
</tr>
<tr class="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="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest', window );">Adjustment for incentive awards expected to vest (in shares)</a></td>
<td class="nump">20,104<span></span>
</td>
</tr>
<tr class="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">496,140<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest</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: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_fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue</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: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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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=fstr_DeferredStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=fstr_DeferredStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_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>69
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103768176">
<tr>
<th class="tl" colspan="1" rowspan="2"><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" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_CashAndCashEquivalentsFairValueDisclosure', window );">Term deposits</a></td>
<td class="nump">$ 17<span></span>
</td>
<td class="nump">$ 17<span></span>
</td>
</tr>
<tr class="re">
<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">$ 1,511<span></span>
</td>
<td class="nump">$ 1,930<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_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag', window );">Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</a></td>
<td class="text">Interest rate swaps<span></span>
</td>
<td class="text">Interest rate swaps<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">$ 1,528<span></span>
</td>
<td class="nump">$ 1,947<span></span>
</td>
</tr>
<tr class="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_CashAndCashEquivalentsFairValueDisclosure', window );">Term deposits</a></td>
<td class="nump">17<span></span>
</td>
<td class="nump">17<span></span>
</td>
</tr>
<tr class="re">
<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="rou">
<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">17<span></span>
</td>
<td class="nump">17<span></span>
</td>
</tr>
<tr class="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="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Term deposits</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Interest rate swaps</a></td>
<td class="nump">1,511<span></span>
</td>
<td class="nump">1,930<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">1,511<span></span>
</td>
<td class="nump">1,930<span></span>
</td>
</tr>
<tr class="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_CashAndCashEquivalentsFairValueDisclosure', window );">Term deposits</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Interest rate swaps</a></td>
<td class="nump">0<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_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_fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag</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_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 probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>70
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073100325968">
<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>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_InterestExpense', window );">Interest expense</a></td>
<td class="nump">$ 1,388<span></span>
</td>
<td class="nump">$ 370<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_SwapMember', window );">Swap</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_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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_InterestIncome', window );">Interest income</a></td>
<td class="nump">$ 245<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 97<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_InterestIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Interest Income</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_InterestIncome</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_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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103435984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans - Narrative (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($) </div>
<div>plan</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_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember', window );">Pension Plan</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 );">Defined contribution plan number</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="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_NumberOfRetirementPlans', window );">Number of retirement plans</a></td>
<td class="nump">3<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_DefinedBenefitPlanNumber', window );">Number of defined benefit plans</a></td>
<td class="nump">1<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 );">Defined contribution plan number</a></td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear', window );">Defined benefit plan, expected future employer contributions, current fiscal year | $</a></td>
<td class="nump">$ 400<span></span>
</td>
</tr>
<tr class="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 );">Defined contribution plan number</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 );">Defined contribution plan number</a></td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear', window );">Defined benefit plan, expected future employer contributions, current fiscal year | $</a></td>
<td class="nump">$ 340<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanContributionsByEmployer', window );">Defined benefit plan, contributions by employer | $</a></td>
<td class="nump">$ 84<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_DefinedBenefitPlanNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DefinedBenefitPlanNumber</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_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_fstr_NumberOfRetirementPlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_NumberOfRetirementPlans</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:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanContributionsByEmployer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contribution received by defined benefit plan from employer which increases plan 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanContributionsByEmployer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contributions received and expected to be received by defined benefit plan from employer in current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073109202320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans - Schedule Of Net Benefit Costs (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 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_RetirementPlanSponsorLocationAxis=country_US', window );">United States</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" 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">$ 71<span></span>
</td>
<td class="nump">$ 49<span></span>
</td>
</tr>
<tr class="ro">
<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">(64)<span></span>
</td>
<td class="num">(66)<span></span>
</td>
</tr>
<tr class="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">16<span></span>
</td>
<td class="nump">18<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) cost</a></td>
<td class="nump">23<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">55<span></span>
</td>
<td class="nump">45<span></span>
</td>
</tr>
<tr class="ro">
<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">(83)<span></span>
</td>
<td class="num">(81)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit', window );">Amortization of prior service costs and transition amount</a></td>
<td class="nump">6<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="ro">
<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">3<span></span>
</td>
<td class="nump">42<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_DefinedBenefitPlanNetPeriodicBenefitCost', window );">Net periodic pension (income) cost</a></td>
<td class="num">$ (19)<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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123453770&amp;loc=SL108413299-114919<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e2709-114920<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4587-114921<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_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>73
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073101745056">
<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>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanDisclosureLineItems', window );"><strong>Defined Contribution Plan Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">Expenses associated with contributions made</a></td>
<td class="nump">$ 937<span></span>
</td>
<td class="nump">$ 501<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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">614<span></span>
</td>
<td class="nump">305<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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">62<span></span>
</td>
<td class="nump">61<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 261<span></span>
</td>
<td class="nump">$ 135<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>74
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073103693408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingent Liabilities - Narrative (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 13, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($) </div>
<div>potentially_responsible_party</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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="text">&#160;<span></span>
</td>
<td class="nump">$ 16,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="nump">140<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_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>
<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_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>
<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_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>
<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_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement', window );">Number of potentially responsible parties included in agreement | potentially_responsible_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>
<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_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="text">&#160;<span></span>
</td>
<td class="nump">2<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_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag', window );">Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">financial condition<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 2,448<span></span>
</td>
<td class="nump">$ 2,472<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">$ 50,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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">&#160;<span></span>
</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>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentAmount', window );">Purchase commitment</a></td>
<td class="nump">48,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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_LongtermPurchaseCommitmentAnnualCommitmentAmount', window );">Annual commitment amount</a></td>
<td class="nump">$ 8,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag</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_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>instant</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>instant</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_LongtermPurchaseCommitmentAnnualCommitmentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-term Purchase Commitment, Annual Commitment 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_LongtermPurchaseCommitmentAnnualCommitmentAmount</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_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/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=6393242&amp;loc=d3e13237-110859<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011672&amp;loc=d3e149879-122751<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 30<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=6393242&amp;loc=d3e13207-110859<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br><br>Reference 5: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=6393242&amp;loc=d3e13237-110859<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 30<br> -Section 55<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=6571209&amp;loc=d3e13703-110860<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LongTermPurchaseCommitmentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum amount the entity agreed to spend under the long-term purchase commitment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=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;">dei_LegalEntityAxis=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>75
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140073109107088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingent Liabilities - Future Payments (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear', window );">Remainder of 2023</a></td>
<td class="nump">$ 8,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne', window );">2024</a></td>
<td class="nump">8,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationSettlementAmountAwardedToOtherParty', window );">Total</a></td>
<td class="nump">$ 16,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Scheduled Payment Remainder Of Year</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear</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_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Scheduled Payment Year One</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne</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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>fstr-20230331_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/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:fstr="http://www.lbfoster.com/20230331"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="fstr-20230331.xsd" xlink:type="simple"/>
    <context id="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia48d8b28de4c458aaf7df4a174fc2a37_I20230502">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2023-05-02</instant>
        </period>
    </context>
    <context id="id6663316f78349588622c6997f0c313e_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie1c2cdd5771541dfa97546b5614c9de8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i614256ff21d143ff9161299913689012_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5e2140f4daba486faa961667018e6901_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia194bc89639f47f087d63938eb52302b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i722a0b4fd96245ab9a5604f944559543_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i2500da59067a4a39b175006cce527670_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i73613682dc7148d180fcdbb711b61711_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i806368a7b9384d6aae47d8eac0727052_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="id038c49e070045bf9c9722abeda72b57_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i961f0b3610b84340a168dae3831dfe56_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="ie4a52661715f4f7f8ea5742e9f5f1ade_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i693c761b19954f1cb0fb796dd1a58dbd_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i71d552ee7d204d159090fc1ae4650a84_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i41fc9a80ff23446c8cd8f3935f99d238_I20230331">
        <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-03-31</instant>
        </period>
    </context>
    <context id="iaa8244821b5443efa2770dada15b74bf_I20230331">
        <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-03-31</instant>
        </period>
    </context>
    <context id="i19118010f43f497abbc8c4c6f49e9324_I20230331">
        <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-03-31</instant>
        </period>
    </context>
    <context id="i784641f6bf9e48b2a8605839ca99b29b_I20230331">
        <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-03-31</instant>
        </period>
    </context>
    <context id="i3025a2879a5543c3843d37b5b12f7460_I20230331">
        <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-03-31</instant>
        </period>
    </context>
    <context id="i3f5e6b29ee4a4b99932730d73fe80ccb_I20230331">
        <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-03-31</instant>
        </period>
    </context>
    <context id="i20291ebd1c474492a38ece518d3edd7b_I20211231">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="ifef8a7457d994496a3dd1a5b94413286_I20211231">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="ic35f62d81548427dbfb19a135ab0bb48_I20211231">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="i92606788db2049e49d231fe0f32ef4ac_I20211231">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="i45c2efb2119a4fa98912837554524cee_I20211231">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="ib951f8feda1146c0b0ff1996dd008323_I20211231">
        <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>2021-12-31</instant>
        </period>
    </context>
    <context id="i44278c22cf334863abf4d50d14f3fa0a_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i68fce446d71446f887705cfa272b6413_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i40166a9b46b0464ba05c103dcea4226a_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i932d61a8e49c4eb98a731af3aa6c5823_I20220331">
        <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>2022-03-31</instant>
        </period>
    </context>
    <context id="i47c5b14b2d134db0a9cc1a28bc5befc5_I20220331">
        <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>2022-03-31</instant>
        </period>
    </context>
    <context id="i2774810522164dfb8adb02292441ae3c_I20220331">
        <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>2022-03-31</instant>
        </period>
    </context>
    <context id="i77e7d99f2c70481ea4117b1377cb7e63_I20220331">
        <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>2022-03-31</instant>
        </period>
    </context>
    <context id="i7b89bd49df8149138a911d6a8363885c_I20220331">
        <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>2022-03-31</instant>
        </period>
    </context>
    <context id="ic25c2d702acf4eddb55bfc483e4d52b8_I20220331">
        <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>2022-03-31</instant>
        </period>
    </context>
    <context id="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331">
        <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:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331">
        <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:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i63ee87255a134aabb66a281410efd393_D20230101-20230331">
        <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:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331">
        <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:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iad9aa66948aa427d8733b61886370a14_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i77148bffd1ea4576b1b6e887e23424bc_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i5986c6e926704a0ba31da1ad5ecc5c3f_I20230331">
        <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:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3afa9c615a3142e1a8a7c8dff349f77a_I20221231">
        <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:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i09cd8128a9504543a004d58ccfda78e4_I20230331">
        <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:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6aeed06cd3b04bd490e7b53b07a716b9_I20221231">
        <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:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia0cf33c60ff748a5bbc634597665f4fe_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i6284dcf0a94a48c99cee07ee2561a00d_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:ChemtecEnergyServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-30</startDate>
            <endDate>2023-03-30</endDate>
        </period>
    </context>
    <context id="ib94c3af616a84d688d59809b47cda372_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsAndFrictionManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia19cda2506014897802590110f2d12fd_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsAndFrictionManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i79937a4eb83c438c8d6f0c11e3340123_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i1237302f3f4a45e9a3821bf180c0ef4d_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i960a969405844740a78873698dd0f09b_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i02800169134b4ec0a44706d408b19b03_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:PrecastConcreteBuildingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i62ce50a3f4b043a28e1a023c5703dd2f_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:PrecastConcreteBuildingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i7540d8806fd749128acf5902a0be579f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:OtherPrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="id54de3a85e05410d9c0e8951baf9e018_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:OtherPrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i3c55b66d69de4416888b170a4fd95d33_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:FabricatedSteelProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i947da1668daa4cdc899b0ee88de8941d_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:FabricatedSteelProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib92ed0acb0fb41d2aac66ead59e99158_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:CoatingsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iceba75f290ed4f58b02e3257b2ac1210_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:CoatingsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="icd1e825cbfff461daf46fce9ae8bc863_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i06d0c940c4a841e590927db26c2be641_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i6e1d58aa46dc45e0a65e59e6ae15bb2d_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia76ad66a0e9b4464be835910057fe869_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i0621169fa7d6423094498cf4ae9d93e0_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iae36f7c70f8541ad986de03cddc33c54_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i1fc7b50db6154316add0343bae356a81_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i89be361d231e4d7dbbde73db2b522641_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iacb73dd5aa4d483089b98c8ec12c3e48_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i333358b784b84c89a82799025e8651ad_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia1abd8ec82d141f7ab9b9f4ca5367855_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iea0603a402c942d697a8ec7716ff1a79_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i4d9f8e472d5c4ae886d5f24587d6a79c_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i0c6d856d1b3b4557b24fe95643741d99_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i67978491d5c14be1ae5b27de44babdfc_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i840a9b2ccb4d4b989784d89055559faf_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i03021627e1314018906c28d49517d677_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i6818ad645a3143f382643610e175fa1a_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ief32642424144d36965f51c37266b30c_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i9d1963d8f99f4c88bdc3b1ffcb15a81d_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="ib982b325025147d8937e9c42e08beada_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic48ec56bf9ea48849e90aee9dab15592_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="icb921d9a7bc04c09adbfa0e15199ca24_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="ic0620249071b4026a5bb6680dad2d666_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i80e024ba38d24d678c483b9b75733d8b_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="iac8139cc0acb40c5b3fb2886ae2ec15e_D20230101-20230331">
        <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:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i4e359afd1af14febad47fadba2ac3194_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="id3d5112c26a34b6f9b8d7bd74f403358_D20230101-20230331">
        <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>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i251e12ea961741bb926c8abd8f8bfd16_D20230101-20230331">
        <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>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if61b03d68ac84182ac693fc961957d3a_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i1e320e688e0b4df39bf87960b68d58b4_D20230101-20230331">
        <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>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7f017986cffe44aa813259ea5df1fa93_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i078ed6f96c474800a1c57166f75718db_D20230101-20230331">
        <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>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5fd770d28c82409c94bb16312fef49b0_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i2841959fd84a4b48b32f0cb84989b6de_D20230101-20230331">
        <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>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i942ff27f7b874755bfb4f3c628384984_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i17d8aae57327493eb914b7095d2a49cc_D20220101-20221231">
        <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:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i7b5ded240cd54584a0edb9037849fc5c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i17b4d5dfd5ba4d36971bf6a5b718294c_D20220101-20221231">
        <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>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="ia8040277b6404366936bf09a061070e8_D20220101-20221231">
        <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>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i464ff039fc88406d808d104214c145c3_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i7a6a48d68fcd41c7adb286c806f8c565_D20220101-20221231">
        <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>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i14547eea555841b682acff4b937b4814_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i6ff42532b9ad488691876c7faca08a00_D20220101-20221231">
        <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>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="ia192fe5493fb461788270535d4bb2e57_D20220101-20221231">
        <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>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="id97e4a3602394c758c8cb04049b42bfa_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="if2b81add6d61480eb72836ee31510df6_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ice04d81f07234651b69d44a0cd7cab27_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id1ee7d2f61844c62906cd9688b062537_D20210813-20210813">
        <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:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-13</startDate>
            <endDate>2021-08-13</endDate>
        </period>
    </context>
    <context id="i0d4fc034211c401baeabdf76b2a17083_I20210813">
        <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:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-13</instant>
        </period>
    </context>
    <context id="i4cc8eae28bc84027955c7169814b3709_D20210813-20210813">
        <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:PriorCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-13</startDate>
            <endDate>2021-08-13</endDate>
        </period>
    </context>
    <context id="i5cad199d02584d47ba947b483e0c5e33_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="iec946c377c0f4c5db11cfaa6335f6a6a_I20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-13</instant>
        </period>
    </context>
    <context id="i0656019163c8485b830309ab3dedde3d_I20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-13</instant>
        </period>
    </context>
    <context id="i23eb32e78fb84b219632afb41e17c9b1_I20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-13</instant>
        </period>
    </context>
    <context id="id0a992b75b7e481f8bd6f04e94c9df5f_I20220812">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2022-08-12</instant>
        </period>
    </context>
    <context id="ie5924391378a4b42afddf688f200d930_I20230331">
        <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:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ieeccf59c4d014c0f9e6a4516f735c154_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ic4d5d2dce02f4d9980504110fc5589ca_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ifabcba39527245f1bba3fda32a7b2c1e_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ib5db3a3c79d94af3be08dd365100beb8_D20230101-20230331">
        <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:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i31d5bc270ba642a3bcfeae8665897c82_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3054a345d5fc4baeb4f71cc2da4fc7ef_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i5912913655b04663a88c211af18eab5f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i73845e2921ae4bbbb49b64bf6906cfd1_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ic1c82693c60f4c23b3e9d8a4006cf4fb_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i1ddb3375b8c34e8d9fc1ceb1a32c1e78_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1fc16b9c4dfd49ffb6d93d0601eb035d_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331">
        <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>2023-03-31</instant>
        </period>
    </context>
    <context id="ib568587e419145de9b541b247ee12e38_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="ie5ddf6053f394068a0ee439574d279d0_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="ifd149e76690146fa8aee324769f1fc61_I20221231">
        <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>2022-12-31</instant>
        </period>
    </context>
    <context id="i6491aaeade364f539409a05361d2685e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia5ebb139ce8e4e77b16ffb1cf78f6195_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5a07a79a93c94edbabc309d9ec9ace8e_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331">
        <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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i8f48b19afaf0482797a80675aac94512_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i03aaeb010a994532b372833fdbda117a_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="if37f45c29c0947b7be845886c8bee4ec_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i8b23aea0f1804af6bc31cee106d39ff2_D20220101-20220331">
        <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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fstr:UPRRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i6ccdd48888be4d76b22f81276d84307c_I20190313">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fstr:UPRRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-13</instant>
        </period>
    </context>
    <context id="i2901e860fe3b44048e366c92e31ac929_D20190313-20190313">
        <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="i88a60ef531c44caeb3094fe0a0f1d324_I20190313">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:UprrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-13</instant>
        </period>
    </context>
    <context id="i9efa7996f27a4a84b08c787505291a52_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:UprrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="if9631e06a9af44149a25f259886981f3_I20170605">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2017-06-05</instant>
        </period>
    </context>
    <context id="i29c0c6abf606419989d3a89721acf83e_I20200326">
        <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="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="potentially_responsible_party">
        <measure>fstr:potentially_responsible_party</measure>
    </unit>
    <unit id="party">
        <measure>fstr:party</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV8yLTEtMS0xLTEyNTkzMw_24027f0b-899d-45d4-b366-7818e398fe21">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV8zLTEtMS0xLTEyNTkzMw_d4f60a5e-02ee-4896-bce3-13acbec77025">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV80LTEtMS0xLTEyNTkzMw_7188894c-4168-4c3a-9351-57954a6e20d8">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV81LTEtMS0xLTEyNTkzMw_fcb49b8c-9020-4e52-8433-54b7b6da6090">0000352825</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV82LTEtMS0xLTEyNTkzMw_d17c50da-39cf-4090-9e98-9abee30dc3f8">--12-31</dei:CurrentFiscalYearEndDate>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ief32642424144d36965f51c37266b30c_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80Ni9mcmFnOmJjNzBhOTYzOTdmYTRkODY4YjRhMjM3MzhlZDkyOWQ4L3RhYmxlOmI2ZjVhZGZhZmUyZTQxZGFiNDNmZmE0ZmIwZDE1NDE0L3RhYmxlcmFuZ2U6YjZmNWFkZmFmZTJlNDFkYWI0M2ZmYTRmYjBkMTU0MTRfMS0xLTEtMS0xMjU5MzM_28814060-80ab-425c-b48a-2013f8c0a889">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <dei:DocumentType
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV84MA_821d3e7a-b16e-4fd5-9be9-c531c19edb68">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Yjc2OWI4NGQwMjM2NDJjNmFiYTRkZTA4MmNmOTdhOGEvdGFibGVyYW5nZTpiNzY5Yjg0ZDAyMzY0MmM2YWJhNGRlMDgyY2Y5N2E4YV8wLTAtMS0xLTEyNTkzMw_d32f8f58-22c4-4f0e-b530-847ed014b4a5">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xMjc_93e09dff-7f5c-4a7b-a1e8-4a8dc9b2c43b">2023-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6ZTkyYWJhMTk0ZjM1NDllM2FhNGE0MjhlZGU0NzYxMWIvdGFibGVyYW5nZTplOTJhYmExOTRmMzU0OWUzYWE0YTQyOGVkZTQ3NjExYl8wLTAtMS0xLTEyNTkzMw_8df6cfa0-238b-4abb-98dc-c04ee2d80ac4">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU4_b1496758-8c9c-416c-8f11-61389db8704b">000-10436</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YjhkNzA5ZGE1ZmVlNDU5ZDgwZWI3MWI4NmM1ZDRjNjQvdGFibGVyYW5nZTpiOGQ3MDlkYTVmZWU0NTlkODBlYjcxYjg2YzVkNGM2NF8xLTAtMS0xLTEyNTkzMw_cc40b686-f7dd-491c-ae86-a76d0f1da411">L.B. Foster Company</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Zjg4MmZjZjE1ZWFmNDBlOWI0OWViYjk3ZjZkZDhlYjIvdGFibGVyYW5nZTpmODgyZmNmMTVlYWY0MGU5YjQ5ZWJiOTdmNmRkOGViMl8wLTAtMS0xLTEyNTkzMw_f4963750-c591-4bf6-8d3c-7209fb48bb81">PA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Zjg4MmZjZjE1ZWFmNDBlOWI0OWViYjk3ZjZkZDhlYjIvdGFibGVyYW5nZTpmODgyZmNmMTVlYWY0MGU5YjQ5ZWJiOTdmNmRkOGViMl8wLTItMS0xLTEyNTkzMw_011c98a5-d468-49d7-973c-a70dd3e8ce93">25-1324733</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzQ_5420bb7c-28b9-4d6a-a3c7-bf2d0769f02e">415 Holiday Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1Xzg_ea74f5b9-1a72-4971-9997-d6dccd181c93">Suite 100</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzEy_0f649b16-4d18-4d3d-bd08-5b4fa603a09b">Pittsburgh</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzE2_c6a134ed-2335-4300-912e-7248e2eafe80">PA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTItMS0xLTEyNTkzMw_98ae3146-25f2-4b78-bf70-6973a4d42bc3">15220</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODUz_958ce3b5-f48e-4ff7-8e25-3af53f25b9bf">412</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU0_3b46686b-8d64-49a2-a5b8-94e3084bfc30">928-3400</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTAtMS0xLTEyNTkzMw_73c1ab6b-0d4b-4c1a-b33e-044c0dbba049">Common Stock, par value $0.01</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTItMS0xLTEyNTkzMw_15d6a814-9125-4628-8773-10ecfe8d336e">FSTR</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTQtMS0xLTEyNTkzMw_090dcf7a-46cd-4dbf-9a38-ea20448a624f">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU1_d24b10c9-b0c1-41d9-bc43-59c8486f8a70">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU2_9dd13df6-6eb6-4df3-a240-e568057472ee">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8wLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmE5YTE1NWM0ODBkNDQzM2RiNmRjMDEwOTYzZWJmNTQ1XzU_4f698bf4-5f30-4ed1-bad4-3ac7d0d11d4c">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8xLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmJjZDJhNWRlYjVlNzQ0YzNiMDk5YTk4NGE4Y2IzNTc4XzMx_744cdf61-0c49-4df6-9f28-324ff4125128">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8yLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmNhNThmNDAwNDJiZjQ5OGNhNjc1ZjQ2OTc2NmFlYzc5XzI4_6bab6f49-419b-4f06-854a-77f20dbf1ee8">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xNzQ1_a5856408-c96d-40e0-95c4-eea9fb98bb6a">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ia48d8b28de4c458aaf7df4a174fc2a37_I20230502"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xNzcw_08b7e481-f8f2-4632-8072-327030b50f35"
      unitRef="shares">11085149</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNC0yLTEtMS0xMjU5MzM_a2f1926c-3f21-4e86-91fe-9b129014d721"
      unitRef="usd">2639000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNC00LTEtMS0xMjU5MzM_70976c36-95a7-4dd1-9835-71d66042fa7b"
      unitRef="usd">2882000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsNotesAndLoansReceivableNetCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNS0yLTEtMS0xMjU5MzM_7168137c-8165-4376-84d3-c1b28e372430"
      unitRef="usd">54904000</us-gaap:AccountsNotesAndLoansReceivableNetCurrent>
    <us-gaap:AccountsNotesAndLoansReceivableNetCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNS00LTEtMS0xMjU5MzM_943e72b0-7d05-4e29-b43f-b3f42fd24a9c"
      unitRef="usd">82455000</us-gaap:AccountsNotesAndLoansReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNi0yLTEtMS0xMjU5MzM_04b078b1-9972-4948-96d5-cac03f99b7aa"
      unitRef="usd">31207000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNi00LTEtMS0xMjU5MzM_c8dafd06-86d1-4c59-905a-3f99eb09430f"
      unitRef="usd">33613000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:InventoryNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNy0yLTEtMS0xMjU5MzM_ea433497-c144-4010-bbf0-4b33f237dbfc"
      unitRef="usd">84594000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNy00LTEtMS0xMjU5MzM_25706b01-c55e-40ba-8d98-057b9e95b98e"
      unitRef="usd">75721000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTAtMi0xLTEtMTI1OTMz_4e0e9ac7-2ea4-44e3-8db2-7995e8234af6"
      unitRef="usd">11844000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTAtNC0xLTEtMTI1OTMz_16b16ebb-b431-46e5-9cdd-57f88020cc98"
      unitRef="usd">11061000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTItMi0xLTEtMTI1OTMz_96b641b1-4a40-4de7-a094-247473ef7b65"
      unitRef="usd">185188000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTItNC0xLTEtMTI1OTMz_aa6c32ed-e56f-4c30-a716-eb3bd985a23a"
      unitRef="usd">205732000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTMtMi0xLTEtMTI1OTMz_490ba03d-9cb3-47c4-97fc-b06e6af206ba"
      unitRef="usd">78960000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTMtNC0xLTEtMTI1OTMz_89f39062-6434-46bc-9c2b-7acdff08b948"
      unitRef="usd">85344000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTQtMi0xLTEtMTI1OTMz_58b168ba-1a37-4e29-a12e-0351a384b044"
      unitRef="usd">16513000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTQtNC0xLTEtMTI1OTMz_57e936e3-911b-4d76-ac7e-d43faf9c49a4"
      unitRef="usd">17291000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTYtMi0xLTEtMTI1OTMz_4ec3deba-c0d9-4b52-bfbe-0a439254f2eb"
      unitRef="usd">30863000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTYtNC0xLTEtMTI1OTMz_b0f67fa0-2b6d-4c09-a7de-f72a17069a01"
      unitRef="usd">30733000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTctMi0xLTEtMTI1OTMz_8a88e3fb-e98f-4a3e-978d-8889fb8ccea6"
      unitRef="usd">22549000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTctNC0xLTEtMTI1OTMz_0a8531a7-98ce-4a95-9e47-89c6ac3510b9"
      unitRef="usd">23831000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTktMi0xLTEtMTI1OTMz_c01345af-1199-4871-9fb7-3c774c94d180"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTktNC0xLTEtMTI1OTMz_a24b05ab-ca3a-40df-b420-d6a7a9ea77b4"
      unitRef="usd">24000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjAtMi0xLTEtMTI1OTMz_148e73b1-91dc-498e-ad33-7f2605f2f9c0"
      unitRef="usd">2305000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjAtNC0xLTEtMTI1OTMz_446ee490-a98b-4e09-bbe5-1f58ea59cb80"
      unitRef="usd">2355000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjItMi0xLTEtMTI1OTMz_03a83d6f-8602-44ab-887a-f8c30874f604"
      unitRef="usd">336378000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjItNC0xLTEtMTI1OTMz_1a085371-7b91-4e8a-8d6e-9f8d68799915"
      unitRef="usd">365310000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjUtMi0xLTEtMTI1OTMz_d4669801-f7f4-4336-846d-6729ce1d2d63"
      unitRef="usd">48553000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjUtNC0xLTEtMTI1OTMz_5bd9cdc6-9f9b-4aae-9296-d428f0478248"
      unitRef="usd">48782000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjYtMi0xLTEtMTI1OTMz_2e48ad2f-39fb-4af0-ba9e-7b24a56a875d"
      unitRef="usd">14556000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjYtNC0xLTEtMTI1OTMz_2ecd1f76-7f30-4598-8985-695e25da1088"
      unitRef="usd">19452000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjctMi0xLTEtMTI1OTMz_86e81f37-15e1-4090-b711-3b40914426f3"
      unitRef="usd">4176000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjctNC0xLTEtMTI1OTMz_0b249a7d-fd29-4d22-be3f-a5fa989a30d1"
      unitRef="usd">10558000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <fstr:AccruedLegalSettlementCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjktMi0xLTEtMTI1OTMz_70397c11-4fcc-4c73-bc8c-ef9e5eaebb08"
      unitRef="usd">8000000</fstr:AccruedLegalSettlementCurrent>
    <fstr:AccruedLegalSettlementCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjktNC0xLTEtMTI1OTMz_6867b392-0346-41ec-9d68-218b0be7462b"
      unitRef="usd">8000000</fstr:AccruedLegalSettlementCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzAtMi0xLTEtMTI1OTMz_a3cb8bb4-3bfd-40fa-8723-85be4da9e7e6"
      unitRef="usd">117000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzAtNC0xLTEtMTI1OTMz_79ad1dd9-9aa0-4cff-9329-9b022ee3b4a0"
      unitRef="usd">127000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzEtMi0xLTEtMTI1OTMz_81cd2ca9-bf29-44b0-95ef-ce3d2f5b6c59"
      unitRef="usd">13100000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzEtNC0xLTEtMTI1OTMz_c7bc2855-994e-454d-b272-d3fce66373fb"
      unitRef="usd">16192000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzMtMi0xLTEtMTI1OTMz_73d71222-bd58-4316-b5e4-9b3e57338465"
      unitRef="usd">88502000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzMtNC0xLTEtMTI1OTMz_3b1f0c1d-bf26-4d87-88dd-53111722a318"
      unitRef="usd">103111000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzQtMi0xLTEtMTI1OTMz_99822b4c-a007-49c1-ad8a-07d8fc476c90"
      unitRef="usd">79979000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzQtNC0xLTEtMTI1OTMz_804022f6-f442-4fd9-9bf0-44273a50a0de"
      unitRef="usd">91752000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzUtMi0xLTEtMTI1OTMz_b49a649b-8f1c-44ae-b7c6-6d671909a905"
      unitRef="usd">1753000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzUtNC0xLTEtMTI1OTMz_2a689d4c-17a2-4bb1-9623-f337294dcf6d"
      unitRef="usd">3109000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <fstr:AccruedLegalSettlementNonCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzYtMi0xLTEtMTI1OTMz_3ebb66d9-9386-4326-b50b-01c719e19e17"
      unitRef="usd">8000000</fstr:AccruedLegalSettlementNonCurrent>
    <fstr:AccruedLegalSettlementNonCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzYtNC0xLTEtMTI1OTMz_3c93d85a-4c0f-4b32-b7de-aaf9b225a15e"
      unitRef="usd">8000000</fstr:AccruedLegalSettlementNonCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzctMi0xLTEtMTI1OTMz_b68686ee-9820-4fb4-a7db-1a12b956aab1"
      unitRef="usd">13416000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzctNC0xLTEtMTI1OTMz_eaef0626-4e7b-4a1b-8884-29daec5fa244"
      unitRef="usd">14163000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzgtMi0xLTEtMTI1OTMz_f3f86b93-4914-487e-964b-0263cf5f8612"
      unitRef="usd">7714000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzgtNC0xLTEtMTI1OTMz_bb93ff88-048b-44e7-89b9-f865bd388782"
      unitRef="usd">7577000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMjg_450bc6e9-f571-429f-9823-58bebcc43466"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMjg_b96f9ea6-9b66-41c9-bac5-5c8f93ec3bfb"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfNDM_456f7218-8512-4920-b151-7b1c87338025"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfNDM_ccb1063e-d00a-4d6c-ac5a-3286ffc5bc2a"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfODI_2c7325c2-ebda-4950-ad20-f61b87007eb4"
      unitRef="shares">11115779</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfODI_ac8647ce-1fad-4579-a858-9f2d88ec0f64"
      unitRef="shares">11115779</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMTE5_178557cb-7ec0-4429-bb7c-35b2152c1b91"
      unitRef="shares">10809711</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMTI2_934c6855-7d41-484d-a09d-6a1cfed683e7"
      unitRef="shares">10776827</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMi0xLTEtMTI1OTMz_f6133f6e-31a8-4311-8e3c-b9d0fc884900"
      unitRef="usd">111000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtNC0xLTEtMTI1OTMz_5c64032f-453f-484d-a161-3a04be86c0a7"
      unitRef="usd">111000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDItMi0xLTEtMTI1OTMz_02286a03-72ef-4f0f-a5eb-a60385dc9a2e"
      unitRef="usd">40951000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDItNC0xLTEtMTI1OTMz_b627f570-6940-4a18-85a3-269569cec7c9"
      unitRef="usd">41303000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDMtMi0xLTEtMTI1OTMz_71fa57ca-bcbc-43f8-9e95-c04e5cb5600c"
      unitRef="usd">121017000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDMtNC0xLTEtMTI1OTMz_4b78071d-bb46-4baf-8eef-76ca83954db5"
      unitRef="usd">123169000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246MmRhZWU3Yzk5NDVlNGY1NmExYmNjNTYwNGI4N2RjNDNfMzA_7de95022-7925-4c29-97d6-64920fa34069"
      unitRef="shares">306068</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246MmRhZWU3Yzk5NDVlNGY1NmExYmNjNTYwNGI4N2RjNDNfMzc_d6171b1c-b1b6-4282-875c-06d159870488"
      unitRef="shares">338952</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMi0xLTEtMTI1OTMz_ecf52945-feda-489f-93aa-64076e739659"
      unitRef="usd">5174000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtNC0xLTEtMTI1OTMz_be4a2490-12ae-4c3a-a1fd-aec5ee8f7d92"
      unitRef="usd">6240000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDUtMi0xLTEtMTI1OTMz_d278aa6a-1e71-4f49-9a36-5d70d8d00f0b"
      unitRef="usd">-20296000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDUtNC0xLTEtMTI1OTMz_9300daec-5546-40b5-bf2d-780ae47d2c05"
      unitRef="usd">-21165000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDYtMi0xLTEtMTI1OTMz_7f5d7d9d-01db-4821-9196-af4ae3be86c3"
      unitRef="usd">136609000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDYtNC0xLTEtMTI1OTMz_347858cd-5d62-47e8-9a41-935107bbb95e"
      unitRef="usd">137178000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDctMi0xLTEtMTI1OTMz_a1e06d04-0371-4f56-8905-8e5374ff7f29"
      unitRef="usd">405000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDctNC0xLTEtMTI1OTMz_da8e833d-d17f-448b-b86a-952a1cc373cb"
      unitRef="usd">420000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDgtMi0xLTEtMTI1OTMz_4e850cbc-05b3-4cec-8179-7c724bd8b0e7"
      unitRef="usd">137014000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDgtNC0xLTEtMTI1OTMz_2b8aaf80-971a-47d4-9eb4-c1d920770198"
      unitRef="usd">137598000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDktMi0xLTEtMTI1OTMz_21b67028-90b1-4669-af52-3329ea88fcf3"
      unitRef="usd">336378000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDktNC0xLTEtMTI1OTMz_78469786-606a-4c6a-a84e-92555b06a9d7"
      unitRef="usd">365310000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i614256ff21d143ff9161299913689012_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNC02LTEtMS0xMjU5MzM_1edc02a7-bc30-4dc7-9469-7512246b1d34"
      unitRef="usd">98538000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNC04LTEtMS0xMjU5MzM_21da705c-7e8d-4f31-9dd8-ea17a02fa858"
      unitRef="usd">84421000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNS02LTEtMS0xMjU5MzM_eaee29eb-f743-4347-9325-de3ead30bc03"
      unitRef="usd">16950000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i5e2140f4daba486faa961667018e6901_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNS04LTEtMS0xMjU5MzM_1056dfec-6e14-4703-aaba-10a7a66a16ec"
      unitRef="usd">14373000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNi02LTEtMS0xMjU5MzM_ab33cc88-8612-4b01-b5eb-b2b89d65be2f"
      unitRef="usd">115488000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNi04LTEtMS0xMjU5MzM_81ae24a3-b774-4739-95ab-46ab28229ffa"
      unitRef="usd">98794000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="i614256ff21d143ff9161299913689012_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNy02LTEtMS0xMjU5MzM_0bd6a6d6-fbe9-4dc7-b1f9-04116b3932e3"
      unitRef="usd">78065000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNy04LTEtMS0xMjU5MzM_075a0dfb-cd76-4dc3-9ba6-e285152ae323"
      unitRef="usd">69845000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOC02LTEtMS0xMjU5MzM_3e87d363-a4b5-4a42-957b-04a4ca25ed23"
      unitRef="usd">14132000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i5e2140f4daba486faa961667018e6901_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOC04LTEtMS0xMjU5MzM_e695ebf4-cc9f-4376-bc6b-1f2d5d2e60c2"
      unitRef="usd">12502000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOS02LTEtMS0xMjU5MzM_467bf55f-0927-4590-9cf4-4839f5d68c3a"
      unitRef="usd">92197000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOS04LTEtMS0xMjU5MzM_ec3a8b08-5365-4311-ab12-930947d97666"
      unitRef="usd">82347000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTAtNi0xLTEtMTI1OTMz_0f31efe5-9870-4bec-b567-5b9aa0682c9a"
      unitRef="usd">23291000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTAtOC0xLTEtMTI1OTMz_96bda7ed-b8c3-4afc-a83a-07f105c085e9"
      unitRef="usd">16447000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTEtNi0xLTEtMTI1OTMz_2aebe852-9a24-49e8-b03c-f515e3fdf042"
      unitRef="usd">21423000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTEtOC0xLTEtMTI1OTMz_55c7386a-8374-4125-a0ec-849bda1cf6e4"
      unitRef="usd">17298000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTItNi0xLTEtMTI1OTMz_d9145e95-6279-4a65-8f2e-74e288e41d5a"
      unitRef="usd">1365000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTItOC0xLTEtMTI1OTMz_8bfe6797-75a7-49e4-90b4-d062e262e2b2"
      unitRef="usd">1436000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTMtNi0xLTEtMTI1OTMz_49ce0479-2c82-44f5-88fd-d4b03c81150c"
      unitRef="usd">503000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTMtOC0xLTEtMTI1OTMz_23528e3b-0acc-485c-a3b2-10631b69b7cd"
      unitRef="usd">-2287000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTUtNi0xLTEtMTI1OTMz_62043eaa-117d-4b6e-abfe-699148be0e2e"
      unitRef="usd">1388000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTUtOC0xLTEtMTI1OTMz_c63fc8e9-1edb-4ee4-a9e3-c9e7e74e7c3a"
      unitRef="usd">370000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTgtNi0xLTEtMTI1OTMz_80dc4f28-a641-4fd4-b447-a5eb740392ad"
      unitRef="usd">-1827000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTgtOC0xLTEtMTI1OTMz_dc5be114-1f2d-48e7-b710-eb338741e1b6"
      unitRef="usd">563000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjAtNi0xLTEtMTI1OTMz_eb674a11-8ef4-49d2-8b1f-4ffcc1496484"
      unitRef="usd">-2712000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjAtOC0xLTEtMTI1OTMz_c8b2f3ea-8666-4d1f-9f11-db1517e31b62"
      unitRef="usd">-2094000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjEtNi0xLTEtMTI1OTMz_aa750ff4-319e-4cde-b786-ba7195eec3b6"
      unitRef="usd">-541000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjEtOC0xLTEtMTI1OTMz_4b39de8a-ea94-4487-accb-07b6f410ecef"
      unitRef="usd">-508000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjItNi0xLTEtMTI1OTMz_10f22834-a386-475f-ac05-a0cff44391f6"
      unitRef="usd">-2171000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjItOC0xLTEtMTI1OTMz_39bb19c3-d402-4297-9ed0-38264a6b5bc7"
      unitRef="usd">-1586000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjMtNi0xLTEtMTI1OTMz_d343a09e-d99d-48c9-8062-27576b6c0ee4"
      unitRef="usd">-19000</us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity>
    <us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjMtOC0xLTEtMTI1OTMz_862ad018-4282-46ab-afa5-c86b3b8feed0"
      unitRef="usd">-20000</us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity>
    <us-gaap:NetIncomeLoss
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjktNi0xLTEtMTI1OTMz_885cb651-ebe1-4fb6-9889-4bd8d719a5af"
      unitRef="usd">-2152000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjktOC0xLTEtMTI1OTMz_483fd94d-a404-4aba-9593-42b19baeefdf"
      unitRef="usd">-1566000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzMtNi0xLTEtMTI1OTMz_c4e50bb4-bbda-45af-8ba6-00ae25beac12"
      unitRef="usdPerShare">-0.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzMtOC0xLTEtMTI1OTMz_50507e96-5ff9-4a8b-94cb-2af15eb89158"
      unitRef="usdPerShare">-0.15</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzctNi0xLTEtMTI1OTMz_688ae7c0-f026-482f-a862-7745a833b6db"
      unitRef="usdPerShare">-0.20</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzctOC0xLTEtMTI1OTMz_05b9e4b5-c614-4fbc-8ab9-9a020de05dd9"
      unitRef="usdPerShare">-0.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNC02LTEtMS0xMjU5MzM_c63ef15e-be6d-476d-8f57-075b946058df"
      unitRef="usd">-2171000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNC04LTEtMS0xMjU5MzM_5023cfa1-a4a4-48ce-ba33-907889ba5a30"
      unitRef="usd">-1586000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNi02LTEtMS0xMjU5MzM_1db16d3b-a71b-4512-aea7-a23713a4a11c"
      unitRef="usd">1247000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNi04LTEtMS0xMjU5MzM_d74754a6-724d-4b56-905c-e429715b0d92"
      unitRef="usd">-880000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowZjlhNmI4YmE1OTg0NjhiYTQwMGIxOTIxNmEzYjMyMF84MA_b83bfc1c-f36f-4382-9adc-11139c6498a4"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowZjlhNmI4YmE1OTg0NjhiYTQwMGIxOTIxNmEzYjMyMF84NA_17916940-282f-4661-b8bd-655b16c3c997"
      unitRef="usd">-188000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy02LTEtMS0xMjU5MzM_fd37b2fb-ccda-4580-9a98-579a5e915a43"
      unitRef="usd">-418000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy04LTEtMS0xMjU5MzM_b9ea9758-33b1-413a-bb2d-2569ade4a78a"
      unitRef="usd">551000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjo2ZDNiY2ZlNzkxNTY0MWJmODFlNGZjM2IwZjczNzYwZF82OQ_44055c11-41fd-48a0-99fd-d6d4fd415f5a"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjo2ZDNiY2ZlNzkxNTY0MWJmODFlNGZjM2IwZjczNzYwZF83Mw_7a125b8f-dba9-48de-8dd2-2b32b0b9c5c6"
      unitRef="usd">-66000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC02LTEtMS0xMjU5MzM_62ea1f2a-1945-47da-8352-c47e1ebc439b"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC04LTEtMS0xMjU5MzM_30df9e27-54f1-49af-83cf-1819daec0aed"
      unitRef="usd">-93000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowYTA3OTllOTg0ZGI0MTM4YWQ5ZjZlMmNkZmExMTEzZV84OQ_b0c0d152-7f53-425e-a060-559d2fcf6dbf"
      unitRef="usd">2000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowYTA3OTllOTg0ZGI0MTM4YWQ5ZjZlMmNkZmExMTEzZV8xMDU_8181b15b-247f-48f9-bd0d-9f4ccd3366a6"
      unitRef="usd">16000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841"
      unitRef="usd">40000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa"
      unitRef="usd">49000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTAtNi0xLTEtMTI1OTMz_a4406d43-b9e4-4dc8-be49-0d8c3d99fdd8"
      unitRef="usd">-1302000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTAtOC0xLTEtMTI1OTMz_13e196c1-9a34-4506-888e-7255c1de9c62"
      unitRef="usd">-1773000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTItNi0xLTEtMTI1OTMz_17bc74c3-b5c8-4bf5-925a-639d7cd50c1f"
      unitRef="usd">-19000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTItOC0xLTEtMTI1OTMz_7093195e-f9b9-42c2-88c7-92b1a4e2ba50"
      unitRef="usd">-20000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTMtNi0xLTEtMTI1OTMz_083d80fd-a97b-45d6-835a-4b4e46c3403c"
      unitRef="usd">4000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTMtOC0xLTEtMTI1OTMz_7b3fd98c-64b5-4528-b884-13a5fea8bab0"
      unitRef="usd">85000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTQtNi0xLTEtMTI1OTMz_cdaf82b0-57ae-4459-81da-fc4d29c5288e"
      unitRef="usd">-15000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTQtOC0xLTEtMTI1OTMz_9e854887-247e-414c-8b1a-252a15121576"
      unitRef="usd">65000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTUtNi0xLTEtMTI1OTMz_c07448ca-3068-40a4-b8c8-3ef609789d97"
      unitRef="usd">-1287000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTUtOC0xLTEtMTI1OTMz_66508706-7b7e-4931-85c3-45808c05953f"
      unitRef="usd">-1838000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNS0yLTEtMS0xMjU5MzM_8432b240-7097-4c44-a252-4938f85b1840"
      unitRef="usd">-2171000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNS00LTEtMS0xMjU5MzM_281e4d57-236b-4933-9552-a33184ad7c2a"
      unitRef="usd">-1586000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNy0yLTEtMS0xMjU5MzM_38bebdf0-caca-4683-a3ef-15a19c1086be"
      unitRef="usd">-1233000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNy00LTEtMS0xMjU5MzM_c0a57048-ef57-4009-a515-82bb5eebbc06"
      unitRef="usd">-574000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:Depreciation
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOC0yLTEtMS0xMjU5MzM_7f83a7af-1220-4bf7-8d5a-473dcc30d8a4"
      unitRef="usd">2505000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOC00LTEtMS0xMjU5MzM_6c273e65-7bf2-41fd-9783-39cdc53f5073"
      unitRef="usd">1938000</us-gaap:Depreciation>
    <us-gaap:AdjustmentForAmortization
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOS0yLTEtMS0xMjU5MzM_2400d6d9-3a52-4da8-94a7-00e7aeb4e8d4"
      unitRef="usd">1365000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOS00LTEtMS0xMjU5MzM_3c1b8de8-f77a-4c1f-ac5a-1434327d9731"
      unitRef="usd">1436000</us-gaap:AdjustmentForAmortization>
    <fstr:EquityLossIncomeAndRemeasurementGain
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTEtMi0xLTEtMTI1OTMz_031835b1-2306-434d-a2b1-2793cc8a62e7"
      unitRef="usd">-17000</fstr:EquityLossIncomeAndRemeasurementGain>
    <fstr:EquityLossIncomeAndRemeasurementGain
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTEtNC0xLTEtMTI1OTMz_60989198-26c6-4cc7-94b7-035a337ac84a"
      unitRef="usd">-87000</fstr:EquityLossIncomeAndRemeasurementGain>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTItMi0xLTEtMTI1OTMz_b19cef28-d93b-4d36-a023-27f9fe854e1e"
      unitRef="usd">14000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTItNC0xLTEtMTI1OTMz_ed9e965d-e98e-459d-b9ca-1523d7651f30"
      unitRef="usd">-23000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:ShareBasedCompensation
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTMtMi0xLTEtMTI1OTMz_f1da0c2e-97fb-41a1-8f41-a3022c10df5e"
      unitRef="usd">884000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTMtNC0xLTEtMTI1OTMz_ef6158c3-5bac-4716-90b1-e1e7b23f9782"
      unitRef="usd">258000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTQtMi0xLTEtMTI1OTMz_6208cf6c-0f1c-4686-b6de-7e7d9625e08a"
      unitRef="usd">-2033000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTQtNC0xLTEtMTI1OTMz_1bb0bf4f-0a77-4463-be7c-f8a7d638aedb"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTctMi0xLTEtMTI1OTMz_f01f7e3f-47a6-428a-9024-fce3e4184d73"
      unitRef="usd">-26239000</us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables>
    <us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTctNC0xLTEtMTI1OTMz_1a92f70a-e1ff-492c-a746-5d377956f9a4"
      unitRef="usd">4556000</us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTgtMi0xLTEtMTI1OTMz_95e28656-2e65-4cbc-bb7a-9745f1001bdf"
      unitRef="usd">860000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTgtNC0xLTEtMTI1OTMz_4f4d368c-e7d4-4bf2-a8cf-0a5d33397def"
      unitRef="usd">-1116000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTktMi0xLTEtMTI1OTMz_e653d332-0260-420f-be85-70874f736316"
      unitRef="usd">15564000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTktNC0xLTEtMTI1OTMz_a46e9d20-06e0-4ae6-9686-4de08d4c01ac"
      unitRef="usd">4781000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjAtMi0xLTEtMTI1OTMz_b879e4ff-01f7-4be6-8395-70f28b8b7846"
      unitRef="usd">791000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjAtNC0xLTEtMTI1OTMz_b0510b61-5c94-4305-b91e-1c523ffd0ff2"
      unitRef="usd">4648000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjItMi0xLTEtMTI1OTMz_0260d84d-a5e8-445a-8cda-4bd3ed3c5446"
      unitRef="usd">1439000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjItNC0xLTEtMTI1OTMz_c60bb3cc-87a9-4bd5-a30d-62f9cbc064ba"
      unitRef="usd">-818000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjQtMi0xLTEtMTI1OTMz_c78d60fd-a10f-4f59-9a87-0ce43e5a7eac"
      unitRef="usd">4921000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjQtNC0xLTEtMTI1OTMz_6a3846d4-4049-4cbd-afaa-e1ecce462c0e"
      unitRef="usd">4680000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjUtMi0xLTEtMTI1OTMz_ccc2ec95-75b5-4891-83e6-868ac17d6578"
      unitRef="usd">-707000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjUtNC0xLTEtMTI1OTMz_a50281d1-38b9-4c0a-b166-cd786bf2febe"
      unitRef="usd">5907000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjYtMi0xLTEtMTI1OTMz_9ad7d617-6646-4a16-bf20-7153ce44b740"
      unitRef="usd">-6386000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjYtNC0xLTEtMTI1OTMz_ffb17cd4-08e0-4161-be05-d49993ab7b3b"
      unitRef="usd">-4181000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjgtMi0xLTEtMTI1OTMz_6e83d098-5e4e-48f0-836e-eabb46965dd9"
      unitRef="usd">-2981000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjgtNC0xLTEtMTI1OTMz_21cf9a6b-6484-423b-82c8-ada12f613b9f"
      unitRef="usd">-2377000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjktMi0xLTEtMTI1OTMz_59c1ab25-6285-4cd9-b019-a0afb5874fd7"
      unitRef="usd">1148000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjktNC0xLTEtMTI1OTMz_602a7483-8aeb-496c-9b0a-80cb322de05c"
      unitRef="usd">-1022000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzAtMi0xLTEtMTI1OTMz_0ecee228-ae4f-4b18-bedc-d0d91bbe8cc7"
      unitRef="usd">6932000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzAtNC0xLTEtMTI1OTMz_161fbe8e-7796-4e30-a9ae-deafce257993"
      unitRef="usd">-7636000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzMtMi0xLTEtMTI1OTMz_ee37bb3e-4c48-4016-8c0b-f23d1373ca45"
      unitRef="usd">16000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzMtNC0xLTEtMTI1OTMz_ece247f7-3b68-4738-bf64-3aed9136e37d"
      unitRef="usd">30000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzQtMi0xLTEtMTI1OTMz_b014859d-ef4e-421e-a839-a2ecdb7f85f5"
      unitRef="usd">699000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzQtNC0xLTEtMTI1OTMz_444f9b87-5907-4217-82bb-56548b8c543c"
      unitRef="usd">1764000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzUtMi0xLTEtMTI1OTMz_12b79a35-b4b9-40b5-89d1-c5043f7e8b58"
      unitRef="usd">5344000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzUtNC0xLTEtMTI1OTMz_97d2589d-31ae-453c-ad2a-58fd133a5112"
      unitRef="usd">1195000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzctMi0xLTEtMTI1OTMz_7f76034b-4849-4728-b8dc-c94686ded4c0"
      unitRef="usd">4661000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzctNC0xLTEtMTI1OTMz_f6ef7114-a62b-472a-a4db-5bc0478d98aa"
      unitRef="usd">-539000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDAtMi0xLTEtMTI1OTMz_1b682bce-e249-48e1-8e27-6e850d50b3ba"
      unitRef="usd">55133000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDAtNC0xLTEtMTI1OTMz_14387d40-ea2b-4a36-bfda-c7ba71544ab4"
      unitRef="usd">30892000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDEtMi0xLTEtMTI1OTMz_98d67cad-49b6-40f7-91d3-81aaa8445ee6"
      unitRef="usd">43086000</us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDEtNC0xLTEtMTI1OTMz_6f967ce6-7cf0-41ec-a50b-acf91e8daead"
      unitRef="usd">35301000</us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDUtMi0xLTEtMTI1OTMz_162ae613-9eed-45f2-9e2c-6996fc5c2b4a"
      unitRef="usd">309000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDUtNC0xLTEtMTI1OTMz_9c40ca6f-86d0-40a7-b7dc-3796dfcfb4e3"
      unitRef="usd">397000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDctMi0xLTEtMTI1OTMz_272d7857-1fde-44e9-aa14-05efe02ed07c"
      unitRef="usd">334000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDctNC0xLTEtMTI1OTMz_c53b8680-4ff3-4680-b70a-ce80791e6930"
      unitRef="usd">0</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDgtMi0xLTEtMTI1OTMz_5cab6b6b-7c41-429f-b90b-2e1a0f696d96"
      unitRef="usd">-12022000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDgtNC0xLTEtMTI1OTMz_db6c41a5-cb67-435b-8e3e-8b73b6ff674b"
      unitRef="usd">4012000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTAtMi0xLTEtMTI1OTMz_3fe71a95-9b43-403f-9a51-68600af92439"
      unitRef="usd">186000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTAtNC0xLTEtMTI1OTMz_d9d9c1f9-d22c-489b-80dc-99cf23c54e14"
      unitRef="usd">30000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTEtMi0xLTEtMTI1OTMz_80b2a001-2f35-4317-a954-6094118c3d64"
      unitRef="usd">-243000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTEtNC0xLTEtMTI1OTMz_035b680b-8f2a-4212-a9d5-7827adc2fbea"
      unitRef="usd">-4133000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTItMi0xLTEtMTI1OTMz_86148c6f-bb4b-48b9-970c-6c20db68f0e4"
      unitRef="usd">2882000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia194bc89639f47f087d63938eb52302b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTItNC0xLTEtMTI1OTMz_531b4e09-d142-485a-ab54-ed65fafb25e4"
      unitRef="usd">10372000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTMtMi0xLTEtMTI1OTMz_1228b826-ffcc-499a-b694-559d56fff33f"
      unitRef="usd">2639000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i722a0b4fd96245ab9a5604f944559543_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTMtNC0xLTEtMTI1OTMz_4b8535aa-44fd-4f39-9f04-c641556b25d1"
      unitRef="usd">6239000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTUtMi0xLTEtMTI1OTMz_8aeecc4d-bb2c-4b43-a393-16c2670362f5"
      unitRef="usd">1425000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTUtNC0xLTEtMTI1OTMz_d547a96d-f19d-40ce-96cc-e15b5a7e0204"
      unitRef="usd">369000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTYtMi0xLTEtMTI1OTMz_12649fbf-feeb-4f1d-ae7e-6161c2bd9049"
      unitRef="usd">-1564000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTYtNC0xLTEtMTI1OTMz_3fe90156-5aee-4232-9d40-3078a7aa54d0"
      unitRef="usd">-44000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i2500da59067a4a39b175006cce527670_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0yLTEtMS0xMjU5MzM_a874c66e-dc1d-41ea-b70e-ff0b0a1abf02"
      unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i73613682dc7148d180fcdbb711b61711_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi00LTEtMS0xMjU5MzM_634c2b38-d718-4ebc-aeb5-80201f30da40"
      unitRef="usd">41303000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i806368a7b9384d6aae47d8eac0727052_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi02LTEtMS0xMjU5MzM_0b2072c3-4087-4691-98fe-4c3ae3a27f94"
      unitRef="usd">123169000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id038c49e070045bf9c9722abeda72b57_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi04LTEtMS0xMjU5MzM_7b32f9c9-e112-4f2a-a2e7-9abc0dab7c88"
      unitRef="usd">-6240000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i961f0b3610b84340a168dae3831dfe56_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xMC0xLTEtMTI1OTMz_8393ac18-c8a9-4643-87fc-b900bac93d19"
      unitRef="usd">-21165000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie4a52661715f4f7f8ea5742e9f5f1ade_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xMi0xLTEtMTI1OTMz_bfa11829-8775-40cc-98d9-1a39f8ebc6d9"
      unitRef="usd">420000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xNC0xLTEtMTI1OTMz_16b1e7e9-973a-4cd1-965e-2e21461d52a0"
      unitRef="usd">137598000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i693c761b19954f1cb0fb796dd1a58dbd_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC02LTEtMS0xMjU5MzM_8d429331-2938-4777-b40b-adb81076da9d"
      unitRef="usd">-2152000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC0xMi0xLTEtMTI1OTMz_1b4b92c6-78f5-4165-8bc3-73248eb9896c"
      unitRef="usd">-19000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC0xNC0xLTEtMTI1OTMz_ef306fca-483c-443d-b6a2-30e179ace1a8"
      unitRef="usd">-2171000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNi0xMC0xLTEtMTI1OTMz_138d5693-ae79-44b1-ae14-453d540d6123"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNi0xNC0xLTEtMTI1OTMz_2e651f3a-93a1-47fd-8458-8b3422b202c5"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xMC0xLTEtMTI1OTMz_94906c59-8f96-4eb5-adc9-a7e31e9ada0c"
      unitRef="usd">1247000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xMi0xLTEtMTI1OTMz_fa9d50b8-057a-4aca-a0a9-9150f1dd169e"
      unitRef="usd">4000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xNC0xLTEtMTI1OTMz_c45a0d36-364a-4863-8c54-a813794f0cef"
      unitRef="usd">1251000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfOC0xMC0xLTEtMTI1OTMz_a2664a53-d289-488c-a03d-06baa5c3172e"
      unitRef="usd">-418000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfOC0xNC0xLTEtMTI1OTMz_83493fc7-f59f-450c-80c3-aefd27aec38f"
      unitRef="usd">-418000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246YTNkMmY1NmM5NzVmNDdkMWEwMzYzZmU4NjBmMjBiMTlfMTY_64191002-0bff-402f-973e-c0ddfe278a75"
      unitRef="shares">32884</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtNC0xLTEtMTI1OTMz_7fd80753-73d6-45e3-8c66-edfe6cdafe7f"
      unitRef="usd">-1236000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i71d552ee7d204d159090fc1ae4650a84_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtOC0xLTEtMTI1OTMz_2d43da1d-aa7f-407b-8f87-74fd856efe12"
      unitRef="usd">1066000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtMTQtMS0xLTEyNTkzMw_c97eef7a-39be-4c86-b1ab-d89345c85e0e"
      unitRef="usd">-170000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTItNC0xLTEtMTI1OTMz_7a7e2885-b5f7-480d-b5c1-47f84ebcff65"
      unitRef="usd">884000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTItMTQtMS0xLTEyNTkzMw_92b67c1a-b187-403f-9c88-b04ec2c2c37a"
      unitRef="usd">884000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i41fc9a80ff23446c8cd8f3935f99d238_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMi0xLTEtMTI1OTMz_5ca43822-49e3-4cf5-8f33-9a126b6b8e56"
      unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iaa8244821b5443efa2770dada15b74bf_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtNC0xLTEtMTI1OTMz_1f1465b2-1b69-41b2-804c-724a49454a24"
      unitRef="usd">40951000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i19118010f43f497abbc8c4c6f49e9324_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtNi0xLTEtMTI1OTMz_eea9e94e-d68d-4120-b6d5-ca154dcc6865"
      unitRef="usd">121017000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i784641f6bf9e48b2a8605839ca99b29b_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtOC0xLTEtMTI1OTMz_b5fc924e-de2c-4c09-9c97-a77c84c3dfe6"
      unitRef="usd">-5174000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3025a2879a5543c3843d37b5b12f7460_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTAtMS0xLTEyNTkzMw_529be3e7-daad-45e7-ba73-383238a2df63"
      unitRef="usd">-20296000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3f5e6b29ee4a4b99932730d73fe80ccb_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTItMS0xLTEyNTkzMw_306d1f90-9000-4b4b-857f-8c3c8acee6cd"
      unitRef="usd">405000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTQtMS0xLTEyNTkzMw_995a83ac-a35a-4d4a-980a-89e2647ca4b9"
      unitRef="usd">137014000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i20291ebd1c474492a38ece518d3edd7b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0yLTEtMS0xMjU5MzM_3721c479-e451-4122-b2bd-effb58726116"
      unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ifef8a7457d994496a3dd1a5b94413286_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi00LTEtMS0xMjU5MzM_de142e12-3c58-478a-aec8-d51447012dd7"
      unitRef="usd">43272000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic35f62d81548427dbfb19a135ab0bb48_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi02LTEtMS0xMjU5MzM_536c5246-49fe-48fa-b9a7-3bb8b09c0e65"
      unitRef="usd">168733000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i92606788db2049e49d231fe0f32ef4ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi04LTEtMS0xMjU5MzM_2337c846-a9cc-4c8e-be15-08dcdfe9ea7e"
      unitRef="usd">-10179000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i45c2efb2119a4fa98912837554524cee_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xMC0xLTEtMTI1OTMz_899e5e41-bad1-43be-8e6b-63ccea5c0982"
      unitRef="usd">-18845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ib951f8feda1146c0b0ff1996dd008323_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xMi0xLTEtMTI1OTMz_96909d01-d890-462f-a214-43e8ef5c3a13"
      unitRef="usd">518000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia194bc89639f47f087d63938eb52302b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xNC0xLTEtMTI1OTMz_72fb2a29-5efb-43b3-9bc2-424996e6dd78"
      unitRef="usd">183610000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i44278c22cf334863abf4d50d14f3fa0a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC02LTEtMS0xMjU5MzM_9ff1c276-6a69-4eb6-b1f9-2779cd26d820"
      unitRef="usd">-1566000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC0xMi0xLTEtMTI1OTMz_de60c591-7201-4736-80db-0e9415a514f8"
      unitRef="usd">-20000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC0xNC0xLTEtMTI1OTMz_0a9ceed0-9763-44ae-81d1-06c34eb2796f"
      unitRef="usd">-1586000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNi0xMC0xLTEtMTI1OTMz_a5ba36c7-afd7-4ba2-9914-ca030c43c92f"
      unitRef="usd">-49000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNi0xNC0xLTEtMTI1OTMz_9a3017aa-017c-4831-9d91-42d055051038"
      unitRef="usd">-49000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xMC0xLTEtMTI1OTMz_245dd491-2b29-4750-98cd-46073a60d501"
      unitRef="usd">-965000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xMi0xLTEtMTI1OTMz_b4a61290-62e1-410c-913a-30744d4749ba"
      unitRef="usd">85000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xNC0xLTEtMTI1OTMz_6a0bb0ee-af50-4546-bd8b-7073d6056431"
      unitRef="usd">-880000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOC0xMC0xLTEtMTI1OTMz_4ebd6cf0-8a84-484c-8de1-11dc108eab09"
      unitRef="usd">551000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOC0xNC0xLTEtMTI1OTMz_20ec39eb-46ff-4b76-be25-b1cbc079a214"
      unitRef="usd">551000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOS0xMC0xLTEtMTI1OTMz_313d9fa0-3b4c-43b4-be3a-d7b591c9e50e"
      unitRef="usd">-93000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOS0xNC0xLTEtMTI1OTMz_32f290d7-624c-47ed-800a-5d12ca906f87"
      unitRef="usd">-93000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246ZDFhNzYyZGVlNzA4NDU4MjkxZDQxYzU2ZTIxYzY2ZGFfMTY_4aab81de-2c0c-4972-9282-85bb6aa90869"
      unitRef="shares">34440</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtNC0xLTEtMTI1OTMz_f902b294-2400-464f-8691-2d58991e6e79"
      unitRef="usd">-1377000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i40166a9b46b0464ba05c103dcea4226a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtOC0xLTEtMTI1OTMz_bc5882aa-6bfb-4564-98e9-4d401405901b"
      unitRef="usd">979000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtMTQtMS0xLTEyNTkzMw_7d891bfa-ec94-4fa8-926d-8f59b9dc91d8"
      unitRef="usd">-398000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTItNC0xLTEtMTI1OTMz_2e054656-a39f-41b0-9909-5ea388781398"
      unitRef="usd">258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTItMTQtMS0xLTEyNTkzMw_d624a0e0-d9e7-40a1-88ea-acf191806c1f"
      unitRef="usd">258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i932d61a8e49c4eb98a731af3aa6c5823_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMi0xLTEtMTI1OTMz_dc84928a-6142-48dd-b543-047ce70a3764"
      unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i47c5b14b2d134db0a9cc1a28bc5befc5_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtNC0xLTEtMTI1OTMz_205c43ca-f52b-47c5-8ce5-89077521e63f"
      unitRef="usd">42153000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i2774810522164dfb8adb02292441ae3c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtNi0xLTEtMTI1OTMz_dcffcd6b-5e68-4206-bacf-2628a2f100c9"
      unitRef="usd">167167000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i77e7d99f2c70481ea4117b1377cb7e63_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtOC0xLTEtMTI1OTMz_196f7f21-2f2e-47ca-8596-0112a435d37c"
      unitRef="usd">-9200000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7b89bd49df8149138a911d6a8363885c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTAtMS0xLTEyNTkzMw_c13a1eaa-b4ff-4b73-9339-da9bb5935fdb"
      unitRef="usd">-19117000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic25c2d702acf4eddb55bfc483e4d52b8_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTItMS0xLTEyNTkzMw_c17fbde3-ba97-4779-80f2-641956805883"
      unitRef="usd">583000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i722a0b4fd96245ab9a5604f944559543_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTQtMS0xLTEyNTkzMw_9269c56e-0716-4859-8788-8adc171098e4"
      unitRef="usd">181697000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNC9mcmFnOjNmZGFhMDUwYTE2NjRjY2JhNWU2OTM5OGU0OTZjMzQyL3RleHRyZWdpb246M2ZkYWEwNTBhMTY2NGNjYmE1ZTY5Mzk4ZTQ5NmMzNDJfMzQyNA_17ca3f96-68d0-414c-97ec-acc0c704b1bd">Financial StatementsBasis of PresentationThe 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 months ended March 31, 2023 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2023. 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, 2022. 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:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNC9mcmFnOjNmZGFhMDUwYTE2NjRjY2JhNWU2OTM5OGU0OTZjMzQyL3RleHRyZWdpb246M2ZkYWEwNTBhMTY2NGNjYmE1ZTY5Mzk4ZTQ5NmMzNDJfMzQyMA_5cc3ba91-a8df-4231-b68b-fd4dc2029ff3">Basis of PresentationThe 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 months ended March 31, 2023 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2023. 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, 2022. 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:SegmentReportingDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4NA_57cab69d-aae4-4d33-9fc6-1287cb66bbd7">Business Segments &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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&#x2019;s innovative engineering and product development solutions address the safety, reliability, and performance needs of its customers&#x2019; most challenging requirements. The Company maintains locations in North America, South America, Europe, and Asia. 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 Chief Operating Decision Maker, who uses such information to make decisions about resources to be allocated to the segments, and (c) for which discrete financial information is available. Operating segments are evaluated on their segment profit contribution to the Company&#x2019;s consolidated results. Other income and expenses, interest, income taxes, and certain other items are managed on a consolidated basis. The Company&#x2019;s segment accounting policies are described in Note 2 Business Segments 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, 2022.&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The operating results of the Company's reportable segments 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 style="width:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Segment Operating Profit (Loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Segment Operating Profit (Loss)&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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(348)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(791)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,148)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,032&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment profit (loss) from operations, as shown above, includes allocated corporate operating expenses. Operating expenses related to corporate headquarter functions that directly support the segment activity are allocated 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. The expense allocation excludes certain corporate costs that are separately managed from the 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of reportable segment net profit (loss) to the Company&#x2019;s consolidated total 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 style="width:75.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.633%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.012%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating profit (loss) for reportable segments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,388)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(370)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other (expense) income - net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,827)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenses and other unallocated charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,529)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(387)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,712)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,094)&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates assets of the Company by reportable segment for the periods presented:&lt;/span&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;163,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,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;/tr&gt;&lt;tr&gt;&lt;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',sans-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 style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;336,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;365,310&#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;/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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC business (&#x201c;Chemtec&#x201d;) for $5,344 in proceeds, subject to final working capital adjustments, generating a $2,033 loss on sale, recorded in &#x201c;Other expense (income) - net.&#x201d; The Chemtec business was reported in the Coatings and Measurement business unit within the Steel Products and Measurement segment.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4Ng_f40a6600-936e-4b35-843d-9d131622727f">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The operating results of the Company's reportable segments 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 style="width:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Segment Operating Profit (Loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Segment Operating Profit (Loss)&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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(348)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(791)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,148)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,032&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi0yLTEtMS0xMjU5MzM_3255a70a-3a74-4f23-b5ba-ea1bc21a455c"
      unitRef="usd">64384000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi00LTEtMS0xMjU5MzM_831efe82-23a5-4398-b1b0-2fd5d96a083d"
      unitRef="usd">2388000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi02LTEtMS0xMjU5MzM_4e6df599-1b2c-4c8f-a4ed-43e6e3f65ae6"
      unitRef="usd">63710000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi04LTEtMS0xMjU5MzM_02294a3d-011d-4680-92ec-7c40b5b25a34"
      unitRef="usd">1039000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy0yLTEtMS0xMjU5MzM_41296780-edf4-49d7-b772-f24fe2a998fe"
      unitRef="usd">24288000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy00LTEtMS0xMjU5MzM_0ef4d65e-04e0-4c5d-ab54-0e687d17a66d"
      unitRef="usd">-348000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy02LTEtMS0xMjU5MzM_88b54f66-2e29-4853-858a-0ac6ed427734"
      unitRef="usd">15010000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy04LTEtMS0xMjU5MzM_b543a5e7-ade2-4430-9f98-8311a8aae640"
      unitRef="usd">-791000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i63ee87255a134aabb66a281410efd393_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC0yLTEtMS0xMjU5MzM_04b1f324-44aa-462e-bcec-0eef45125e92"
      unitRef="usd">26816000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i63ee87255a134aabb66a281410efd393_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC00LTEtMS0xMjU5MzM_880a7366-9922-4cfa-b245-0ef0de02621f"
      unitRef="usd">-8000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC02LTEtMS0xMjU5MzM_2a0f573f-4a7f-44c8-80c7-e2ddda77f8b7"
      unitRef="usd">20074000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC04LTEtMS0xMjU5MzM_da63544a-3dd3-4d64-99ea-67fd574fda7c"
      unitRef="usd">-2148000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS0yLTEtMS0xMjU5MzM_859706f1-1f90-4d8c-8443-79ba2493aa14"
      unitRef="usd">115488000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS00LTEtMS0xMjU5MzM_6f247a53-ce24-4317-8a73-c49dc8489c88"
      unitRef="usd">2032000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS02LTEtMS0xMjU5MzM_84903779-3342-49c8-8498-a38c6a3698c5"
      unitRef="usd">98794000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS04LTEtMS0xMjU5MzM_e1273f41-ba6f-493b-bd94-64ef92f27f46"
      unitRef="usd">-1900000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4MQ_a988b9d9-da13-4d46-a8f7-c649e9a595f7">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of reportable segment net profit (loss) to the Company&#x2019;s consolidated total 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 style="width:75.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.633%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.012%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating profit (loss) for reportable segments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,388)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(370)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other (expense) income - net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,827)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenses and other unallocated charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,529)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(387)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,712)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,094)&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <us-gaap:OperatingIncomeLoss
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMi0yLTEtMS0xMjU5MzM_c3aed7b0-448d-467f-8a97-700298b5eedc"
      unitRef="usd">2032000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMi00LTEtMS0xMjU5MzM_ddb40d98-1feb-4cf5-a4dc-1a2f0351d99d"
      unitRef="usd">-1900000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMy0yLTEtMS0xMjU5MzM_6e23d90e-aed1-4d77-92b7-d8287e429e8f"
      unitRef="usd">-1388000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMy00LTEtMS0xMjU5MzM_836a7a30-af20-45cc-9837-3e8d3b7ae310"
      unitRef="usd">-370000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfNS0yLTEtMS0xMjU5MzM_857a54ad-f2a0-46fa-b6cb-31532f609f7c"
      unitRef="usd">-1827000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfNS00LTEtMS0xMjU5MzM_349f22e9-ca58-4d8f-b922-bd7b3e630743"
      unitRef="usd">563000</us-gaap:OtherNonoperatingIncomeExpense>
    <fstr:CorporateExpenseAndOtherUnallocatedCharges
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOC0yLTEtMS0xMjU5MzM_498b75c0-385d-4cf3-ae1b-edb7a6615797"
      unitRef="usd">1529000</fstr:CorporateExpenseAndOtherUnallocatedCharges>
    <fstr:CorporateExpenseAndOtherUnallocatedCharges
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOC00LTEtMS0xMjU5MzM_aa8e1c93-e6ef-4aee-ad56-f8c739a4d2ae"
      unitRef="usd">387000</fstr:CorporateExpenseAndOtherUnallocatedCharges>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOS0yLTEtMS0xMjU5MzM_7cefdda4-f267-4882-b2ea-47cb7f0db76c"
      unitRef="usd">-2712000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOS00LTEtMS0xMjU5MzM_b19d0ab8-4b8c-4f8c-adcc-7edc1242ca80"
      unitRef="usd">-2094000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4OA_0ac000fb-72a7-49ce-9f3c-5ce55e573547">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates assets of the Company by reportable segment for the periods presented:&lt;/span&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;163,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,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;/tr&gt;&lt;tr&gt;&lt;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',sans-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 style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;336,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;365,310&#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;/tr&gt;&lt;/table&gt;</us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:Assets
      contextRef="iad9aa66948aa427d8733b61886370a14_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMS0yLTEtMS0xMjU5MzM_e4a5bd1d-660c-4559-9aec-267d03e34cbe"
      unitRef="usd">163001000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i77148bffd1ea4576b1b6e887e23424bc_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMS00LTEtMS0xMjU5MzM_ff413fd1-f31a-41a7-9036-5aab003cd3e5"
      unitRef="usd">172111000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i5986c6e926704a0ba31da1ad5ecc5c3f_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMi0yLTEtMS0xMjU5MzM_397bbe00-fc59-480c-9db7-10e013997152"
      unitRef="usd">104581000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i3afa9c615a3142e1a8a7c8dff349f77a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMi00LTEtMS0xMjU5MzM_9cd620f2-ad1b-406c-971e-621396c51188"
      unitRef="usd">108598000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i09cd8128a9504543a004d58ccfda78e4_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMy0yLTEtMS0xMjU5MzM_b2ad79e2-32da-42f6-9d05-eaadbf2c81ff"
      unitRef="usd">38236000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i6aeed06cd3b04bd490e7b53b07a716b9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMy00LTEtMS0xMjU5MzM_a49dea2a-93b2-439f-b0ac-64915556e0f9"
      unitRef="usd">54516000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ia0cf33c60ff748a5bbc634597665f4fe_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNC0yLTEtMS0xMjU5MzM_47275ac7-b0fa-46ff-8c97-0511941a8af3"
      unitRef="usd">30560000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i6284dcf0a94a48c99cee07ee2561a00d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNC00LTEtMS0xMjU5MzM_bf7c64ca-06e9-4420-b694-e116ec3e2bf3"
      unitRef="usd">30085000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNS0yLTEtMS0xMjU5MzM_620c6fa8-413f-41f6-a49b-471374e60bce"
      unitRef="usd">336378000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNS00LTEtMS0xMjU5MzM_26402475-16a8-4433-ad22-7d59e6a58cee"
      unitRef="usd">365310000</us-gaap:Assets>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfNDk0NzgwMjMyNzg0NA_e034ed16-ee90-4198-9104-dfaf2982a208"
      unitRef="usd">5344000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfNTQ5NzU1ODE2NTQ1_9094dcef-e1fc-49ad-b09a-2921308dd7bf"
      unitRef="usd">-2033000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDI0OQ_8d114d96-f068-479f-b28b-ca4e140e03b9">Revenue&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company&#x2019;s net sales by major product and service category 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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail Products and Global Friction Management&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,059&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Buildings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,886&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,970&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Precast Concrete Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fabricated Steel Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Coatings and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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',sans-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:99.583%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.875%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,886&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,062&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,491&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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;/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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s performance obligations under long-term agreements with its customers are generally satisfied over time. Revenue under long-term agreements is generally recognized 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 &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;upon which measure the Company believes best depicts its performance to date under the terms of the contract. A certain portion of the Company&#x2019;s revenue recognized over time under these long-term agreements is recognized using an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements.&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',sans-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 style="width:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Percentage of Total Net Sales &lt;br/&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.6&#160;&lt;/span&gt;&lt;/td&gt;&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.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;/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',sans-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 style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,526&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,303&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.7&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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&#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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company'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 style="width:84.872%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.234%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net additions to contract assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,696)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company'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 style="width:84.872%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.234%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,781&#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;/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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,443)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other adjustments, including business divestiture&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,078)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #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',sans-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:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company records provisions related to the allowance for credit losses associated with contract assets. Provisions are recorded based upon a specific review of individual contracts as necessary, and a standard provision over any remaining contract assets pooled together based on similar risk of credit loss. The development of these provisions is based on historical collection trends, accuracy of estimates within contract margin reporting, as well as the expectation that collection patterns and margin reporting will continue to adhere to patterns observed in recent years. These expectations are formed based on trends observed, as well as current and expected future 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023, the Company had approximately $259,881 of obligations under new contracts and remaining performance obligations, which is also referred to as backlog. Approximately 8.9% of the March&#160;31, 2023 backlog was related to projects that are anticipated to extend beyond March&#160;31, 2024.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDk0NzgwMjMzMjcyNg_ae854819-8cb1-4428-a76c-1570a9e0e531">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company&#x2019;s net sales by major product and service category 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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail Products and Global Friction Management&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,059&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Buildings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,886&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,970&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Precast Concrete Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fabricated Steel Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Coatings and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ib94c3af616a84d688d59809b47cda372_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMi0yLTEtMS0xMjkyNTQ_019f6130-8229-414b-abe1-3d2280252240"
      unitRef="usd">56048000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ia19cda2506014897802590110f2d12fd_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMi00LTEtMS0xMjkzMTY_52010d26-7dad-4e5c-9b63-7581298f76fa"
      unitRef="usd">51651000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i79937a4eb83c438c8d6f0c11e3340123_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMy0yLTEtMS0xMjkyNjA_0792db87-3b68-4c29-b06e-2e66b4f699dd"
      unitRef="usd">8336000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i1237302f3f4a45e9a3821bf180c0ef4d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMy00LTEtMS0xMjkzMTY_0212989e-4f79-4a3a-909b-e4915783d516"
      unitRef="usd">12059000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNC0yLTEtMS0xMjkyOTg_e512c8b8-3f67-497a-bc8b-c4f1817cb86d"
      unitRef="usd">64384000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNC00LTEtMS0xMjkzMTY_60ef1836-8513-4b1d-9650-4f91e42c3cef"
      unitRef="usd">63710000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i02800169134b4ec0a44706d408b19b03_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNS0yLTEtMS0xMjkzMDQ_efc2a85e-d3a3-4061-821f-febd7dc64562"
      unitRef="usd">10886000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i62ce50a3f4b043a28e1a023c5703dd2f_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNS00LTEtMS0xMjkzMTY_2a91304b-7b33-441d-92f9-34ed284bc8c0"
      unitRef="usd">9970000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i7540d8806fd749128acf5902a0be579f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNi0yLTEtMS0xMjkzMTA_936fc862-328c-4c8f-8535-38114409afb0"
      unitRef="usd">13402000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="id54de3a85e05410d9c0e8951baf9e018_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNi00LTEtMS0xMjkzMTY_eb2a8770-4551-4e43-803e-01984222c4e7"
      unitRef="usd">5040000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNy0yLTEtMS0xMjkzMTA_49f206a4-6cdf-4962-ad39-b4ef51428d5c"
      unitRef="usd">24288000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNy00LTEtMS0xMjkzMTY_233ef05b-3f59-483a-b51d-7380d4ae67ed"
      unitRef="usd">15010000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3c55b66d69de4416888b170a4fd95d33_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOC0yLTEtMS0xMjkzMTA_f1986515-a5f3-4fd9-8b95-0dace7c4ecef"
      unitRef="usd">10517000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i947da1668daa4cdc899b0ee88de8941d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOC00LTEtMS0xMjkzMTY_e890dd5e-81af-4940-b8ba-81cfb5aae0e5"
      unitRef="usd">12604000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ib92ed0acb0fb41d2aac66ead59e99158_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOS0yLTEtMS0xMjkzMTA_b24f2f99-a0c3-4e57-ae28-6e6c359c312e"
      unitRef="usd">16299000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iceba75f290ed4f58b02e3257b2ac1210_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOS00LTEtMS0xMjkzMTY_65657d36-3603-4699-b678-cfc125a12c61"
      unitRef="usd">7470000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTAtMi0xLTEtMTI5MzEw_dcf6eb98-9b74-4c0f-aca6-4019de480738"
      unitRef="usd">26816000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTAtNC0xLTEtMTI5MzE2_7efab9b0-4cbc-474f-a4f7-b0e4e12c424b"
      unitRef="usd">20074000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTEtMi0xLTEtMTI5MzEw_5c3d7a3c-e534-48a4-95fd-e6364514d85f"
      unitRef="usd">115488000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTEtNC0xLTEtMTI5MzE2_2701953b-05d6-4c03-9874-0021c801209b"
      unitRef="usd">98794000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDI1Mg_ddde6034-bcec-4531-96af-8a27564f8db2">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:99.583%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.875%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,886&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,062&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,491&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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;/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',sans-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 style="width:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Percentage of Total Net Sales &lt;br/&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.6&#160;&lt;/span&gt;&lt;/td&gt;&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.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;/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',sans-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 style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,526&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,303&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.7&#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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="icd1e825cbfff461daf46fce9ae8bc863_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi0yLTEtMS0xMjU5MzM_7a3622cd-013d-41d4-a595-5afce91de1ba"
      unitRef="usd">53834000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i06d0c940c4a841e590927db26c2be641_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi00LTEtMS0xMjU5MzM_97482e46-6f78-4716-848a-a3e9d61ba661"
      unitRef="usd">13402000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i6e1d58aa46dc45e0a65e59e6ae15bb2d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi02LTEtMS0xMjU5MzM_39297825-275a-408d-bd4f-6d6b8bd869de"
      unitRef="usd">15726000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ia76ad66a0e9b4464be835910057fe869_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi04LTEtMS0xMjU5MzM_1bfd1209-183c-42bc-99d2-34d6763f582b"
      unitRef="usd">82962000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i0621169fa7d6423094498cf4ae9d93e0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy0yLTEtMS0xMjU5MzM_1062228e-fb20-4256-ae6e-f432c79897e5"
      unitRef="usd">10550000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iae36f7c70f8541ad986de03cddc33c54_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy00LTEtMS0xMjU5MzM_3ed5370b-db1a-47ac-8c1c-73a776c9a5f3"
      unitRef="usd">10886000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i1fc7b50db6154316add0343bae356a81_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy02LTEtMS0xMjU5MzM_a58634d8-9f19-4e03-b05c-ae022369a67d"
      unitRef="usd">11090000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i89be361d231e4d7dbbde73db2b522641_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy04LTEtMS0xMjU5MzM_3e3816e9-68ed-4a7e-ab27-f229a38e2af9"
      unitRef="usd">32526000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC0yLTEtMS0xMjU5MzM_46c6fffd-d736-4b0e-9636-00e56cca5104"
      unitRef="usd">64384000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC00LTEtMS0xMjU5MzM_39fc8555-ed22-4d9c-97f5-2a8e4325c966"
      unitRef="usd">24288000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC02LTEtMS0xMjU5MzM_0e0edd2d-705a-458c-8874-1bc44cbf47e3"
      unitRef="usd">26816000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC04LTEtMS0xMjU5MzM_c1688817-6367-42a5-a75d-cf71ab378d80"
      unitRef="usd">115488000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iacb73dd5aa4d483089b98c8ec12c3e48_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC0yLTEtMS0xMjU5MzM_9143489f-d808-49cb-a8c9-b71d25191373"
      unitRef="usd">49166000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i333358b784b84c89a82799025e8651ad_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC00LTEtMS0xMjU5MzM_c1d8c48a-a8f1-458c-b347-6eefd818a8c8"
      unitRef="usd">4263000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ia1abd8ec82d141f7ab9b9f4ca5367855_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC02LTEtMS0xMjU5MzM_6a64605f-0b45-4d5b-87b1-a6633a268ea8"
      unitRef="usd">15062000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iea0603a402c942d697a8ec7716ff1a79_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC04LTEtMS0xMjU5MzM_3e708837-5c6b-4753-affe-6ee03135ed08"
      unitRef="usd">68491000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i4d9f8e472d5c4ae886d5f24587d6a79c_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS0yLTEtMS0xMjU5MzM_51ed4f73-6ea6-4b24-8024-e83da55b78cf"
      unitRef="usd">14544000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i0c6d856d1b3b4557b24fe95643741d99_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS00LTEtMS0xMjU5MzM_8f2e71ec-b0e3-4c25-a729-505039312114"
      unitRef="usd">10747000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i67978491d5c14be1ae5b27de44babdfc_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS02LTEtMS0xMjU5MzM_30ccafff-0bf2-4817-a0c3-8ac5274ff8cd"
      unitRef="usd">5012000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i840a9b2ccb4d4b989784d89055559faf_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS04LTEtMS0xMjU5MzM_7c094a80-acb8-41dc-9d35-2f49a1f7e72d"
      unitRef="usd">30303000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtMi0xLTEtMTI1OTMz_7c3a51d0-816e-451b-a098-cf080a51be52"
      unitRef="usd">63710000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtNC0xLTEtMTI1OTMz_e04b2a84-fe7b-4cf1-9c2d-579683dd6383"
      unitRef="usd">15010000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtNi0xLTEtMTI1OTMz_c19eef07-98db-4e6a-b42d-fd68e3315c35"
      unitRef="usd">20074000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtOC0xLTEtMTI1OTMz_016a4025-b01c-4cf0-ae90-41283c8300d4"
      unitRef="usd">98794000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <fstr:OverTimeSalesAmount
      contextRef="i03021627e1314018906c28d49517d677_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi0yLTEtMS0xMjk2MjI_c1938409-d003-4c1b-8b31-7e08f80614d9"
      unitRef="usd">16211000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount
      contextRef="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi00LTEtMS0xMjk2MTI_d78d8ef7-6a0b-46e8-a7ce-14b87c8eb6a3"
      unitRef="usd">19322000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent
      contextRef="i03021627e1314018906c28d49517d677_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi02LTEtMS0xMzA4NTU_d41a5e7d-58f8-4849-a8f7-80a8191add04"
      unitRef="number">0.140</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent
      contextRef="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi04LTEtMS0xMjk2MzQ_80e78da5-4944-449d-94fd-e03c9ef4d287"
      unitRef="number">0.196</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount
      contextRef="i6818ad645a3143f382643610e175fa1a_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy0yLTEtMS0xMjk2MjI_13746af2-8416-4bf9-9341-635752a2c372"
      unitRef="usd">16315000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount
      contextRef="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy00LTEtMS0xMjk2MTI_651e3946-f84e-4a24-9a7d-dc66793bfef6"
      unitRef="usd">10981000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent
      contextRef="i6818ad645a3143f382643610e175fa1a_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy02LTEtMS0xMzA4NTU_f68fbf2b-ebc4-454a-8b3b-3610ec92d102"
      unitRef="number">0.141</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent
      contextRef="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy04LTEtMS0xMjk2MzQ_22be6b52-bb13-40a3-8919-45b5a001f8ce"
      unitRef="number">0.111</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC0yLTEtMS0xMjk2MjI_5bb23a78-e7d8-4880-8931-5e5c96e3315e"
      unitRef="usd">32526000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC00LTEtMS0xMjk2MTI_57edda04-78cc-414f-a3d4-6a53be1e0f25"
      unitRef="usd">30303000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC02LTEtMS0xMzA4NTU_f9cf244a-312c-4f34-8d50-82b9c3b9ccac"
      unitRef="number">0.282</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC04LTEtMS0xMjk2MzQ_bd17637d-d326-444d-be56-43a6fe2a8b71"
      unitRef="number">0.307</fstr:OverTimeSalesPercent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDk0NzgwMjMzNTAyMA_82101b85-7913-4132-bb4d-30140bdbab50">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company'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 style="width:84.872%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.234%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net additions to contract assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,696)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company'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 style="width:84.872%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.234%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,781&#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;/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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,443)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other adjustments, including business divestiture&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,078)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #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',sans-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:1pt solid #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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMS0yLTEtMS0xMzkxNzA_9c6fea88-d750-494e-9217-db2888691288"
      unitRef="usd">33613000</us-gaap:ContractWithCustomerAssetNet>
    <fstr:ContractWithCustomerAssetAdditions
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMi0yLTEtMS0xMzkxNzA_0fa1c7e7-48d0-43ec-99d2-8cdd3c89a722"
      unitRef="usd">1290000</fstr:ContractWithCustomerAssetAdditions>
    <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMy0yLTEtMS0xMzkxNzA_968690ae-ab08-4aa6-ab18-34099471b6bf"
      unitRef="usd">3696000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfNC0yLTEtMS0xMzkxNzA_1f2ad168-c9c8-407c-b747-b9efbe91d77a"
      unitRef="usd">31207000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMS0yLTEtMS0xMzkyMjY_70557da0-05be-4244-a73e-27fa093fc22a"
      unitRef="usd">6781000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMi0yLTEtMS0xMzkyMjY_c9cea1b9-6f7b-404b-81cc-799d2dc06d1d"
      unitRef="usd">3443000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <fstr:ContractWithCustomerLiabilityIncreaseFromCashReceipts
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMy0yLTEtMS0xMzkyMjY_af643bca-c2a0-4fb7-98b9-4fe171d7ea4d"
      unitRef="usd">1983000</fstr:ContractWithCustomerLiabilityIncreaseFromCashReceipts>
    <fstr:ContractWithCustomerLiabilityOtherAdjustments
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfNC0yLTEtMS0xMzkyMjY_f0d2f34b-b662-433e-a366-c8702240fe69"
      unitRef="usd">2078000</fstr:ContractWithCustomerLiabilityOtherAdjustments>
    <us-gaap:ContractWithCustomerLiability
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfNS0yLTEtMS0xMzkyMjY_2fd81981-e2ec-4bb1-9ae1-a495ebb70239"
      unitRef="usd">3243000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDAzMw_039dd8bb-3959-4e8f-8237-c8d73f6a2cb0"
      unitRef="usd">259881000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="ief32642424144d36965f51c37266b30c_I20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDE2Mg_f3a4248e-a628-405e-b5a2-30a0c170c59c"
      unitRef="number">0.089</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMTgyOQ_d8a8a4f2-fe33-4d74-b524-dd2db8bd21b5">Goodwill and Other Intangible Assets&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="width:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,078&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,863&#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;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 included the impacts of current economic conditions, including but not limited to labor markets, supply chains, and &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;other inflationary costs. 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 March&#160;31, 2023. However, future impairment charges could result if future projections diverge unfavorably from current expectations in the Rail Technologies and Precast Concrete Products reporting units.&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023 and December&#160;31, 2022, the components of the Company&#x2019;s intangible assets were as follows:&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 style="width:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 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',sans-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 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',sans-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 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',sans-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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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:#ffffff;padding:0 1pt"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(187)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,965)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,142)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,307&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45,758)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,549&#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;/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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 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',sans-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 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',sans-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 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',sans-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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(187)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,989)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25,827)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,002&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44,171)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,831&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMTgyNQ_47bafc00-779e-44ea-a1e5-0ca920c5a3cb">The following table presents the changes in goodwill balance by reportable segment for the period presented:&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 style="width:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,078&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,863&#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;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i9d1963d8f99f4c88bdc3b1ffcb15a81d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS0yLTEtMS0xMjU5MzM_fbe1b90a-ff71-4bea-a073-5fdf8fdd8e48"
      unitRef="usd">19948000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib982b325025147d8937e9c42e08beada_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS00LTEtMS0xMjU5MzM_77f94de2-6b20-4f2a-8b81-19db90a9815b"
      unitRef="usd">10785000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic48ec56bf9ea48849e90aee9dab15592_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS02LTEtMS0xMjU5MzM_5ce85d61-6ef3-48c4-ab0c-6f506f7f8b58"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS04LTEtMS0xMjU5MzM_d3be3c5f-b1ce-4bab-95f8-da8f8903117a"
      unitRef="usd">30733000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC0yLTEtMS0xMjU5MzM_82b8844d-a944-4d44-a80e-4360c4b083fc"
      unitRef="usd">130000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC00LTEtMS0xMjU5MzM_ea499598-3e72-4744-bb50-45b89668d292"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC02LTEtMS0xMjU5MzM_9f0d5970-dd78-4522-a2d3-dc602d632d02"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC04LTEtMS0xMjU5MzM_85c53ffd-ee1c-405b-8707-5267a6484fcc"
      unitRef="usd">130000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="icb921d9a7bc04c09adbfa0e15199ca24_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy0yLTEtMS0xMjU5MzM_b578ade0-3599-40db-902c-358446fa7567"
      unitRef="usd">20078000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic0620249071b4026a5bb6680dad2d666_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy00LTEtMS0xMjU5MzM_48172972-ed02-4c71-8db6-30b7f6ceb0b5"
      unitRef="usd">10785000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i80e024ba38d24d678c483b9b75733d8b_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy02LTEtMS0xMjU5MzM_c0fbbf12-5ca9-4972-bf87-820b48e281ae"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy04LTEtMS0xMjU5MzM_fd330ae3-bc34-4eaa-9cfb-ef45bcbbfcdc"
      unitRef="usd">30863000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMzg0ODI5MDcwMDgxNg_71cfd3d1-5c50-47c6-a446-5d97c87adab0">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023 and December&#160;31, 2022, the components of the Company&#x2019;s intangible assets were as follows:&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 style="width:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 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',sans-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 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',sans-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 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',sans-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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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:#ffffff;padding:0 1pt"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(187)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,965)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,142)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,307&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45,758)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,549&#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;/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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 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',sans-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 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',sans-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 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',sans-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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(187)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,989)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25,827)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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:#ffffff;padding:0 1pt"/&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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,002&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44,171)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,831&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iac8139cc0acb40c5b3fb2886ae2ec15e_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi0yLTEtMS0xNDE2ODY_8ea1d1f0-dc0e-41e0-9627-10b38ff151f7">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi00LTEtMS0xNDE2ODY_1ec06723-3b2c-4cd5-a905-a9c0e3a2ac7e"
      unitRef="usd">27000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi02LTEtMS0xNDE2ODY_684af4b7-b392-47ea-841e-bde4d7467c33"
      unitRef="usd">23000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi04LTEtMS0xNDE2ODY_16d551fa-c7d3-45cb-b04e-6b3bfc40a89b"
      unitRef="usd">4000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="id3d5112c26a34b6f9b8d7bd74f403358_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy0yLTEtMS0xNDE2ODY_4c747718-82a8-43a8-8cbc-872f4cc87749">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy00LTEtMS0xNDE2ODY_bc958553-d48a-416e-b770-0b192818e29c"
      unitRef="usd">330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy02LTEtMS0xNDE2ODY_ac060d31-d13c-48f0-9413-8b0b0090bbc5"
      unitRef="usd">187000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy04LTEtMS0xNDE2ODY_cbdeeafd-d1be-438f-8191-583c981503c4"
      unitRef="usd">143000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i251e12ea961741bb926c8abd8f8bfd16_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC0yLTEtMS0xNDE2ODY_cdbfd984-a1c4-4c13-a29c-81492cd40a12">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC00LTEtMS0xNDE2ODY_067b0947-671e-4033-a37f-39a972b89540"
      unitRef="usd">27413000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC02LTEtMS0xNDE2ODY_7ef0ac75-d77b-413b-ac16-b3f55c0f4253"
      unitRef="usd">14965000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC04LTEtMS0xNDE2ODY_98041d8e-e7da-4392-8c90-18ec567da715"
      unitRef="usd">12448000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i1e320e688e0b4df39bf87960b68d58b4_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS0yLTEtMS0xNDE2ODY_d8a11b1b-5de1-4721-a919-e9506165257d">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS00LTEtMS0xNDE2ODY_26fb60a8-620b-4973-9ed0-af264ec85923"
      unitRef="usd">7957000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS02LTEtMS0xNDE2ODY_5a6f27c5-dcbe-4110-a755-2348c1c5e168"
      unitRef="usd">4142000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS04LTEtMS0xNDE2ODY_16c4de91-bfad-450a-b5e3-5a7a74d29884"
      unitRef="usd">3815000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i078ed6f96c474800a1c57166f75718db_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi0yLTEtMS0xNDE2ODY_32913a99-5953-42a4-958b-3de6e9c12d09">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi00LTEtMS0xNDE2ODY_0631dc7a-532a-4463-9527-d6643e40b8b5"
      unitRef="usd">32253000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi02LTEtMS0xNDE2ODY_142056d1-466d-4a52-8353-1d9c91b0db73"
      unitRef="usd">26405000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi04LTEtMS0xNDE2ODY_596e6b6e-3c32-4f49-9d6c-ab35a438d685"
      unitRef="usd">5848000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i2841959fd84a4b48b32f0cb84989b6de_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy0yLTEtMS0xNDE2ODY_8efc2340-204c-45f6-b718-5a228d57bf39">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy00LTEtMS0xNDE2ODY_53b66630-a745-4448-adce-2304cbbf0147"
      unitRef="usd">327000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy02LTEtMS0xNDE2ODY_0c7d945d-039f-4aaf-8d55-0b748f147cb6"
      unitRef="usd">36000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy04LTEtMS0xNDE2ODY_28e1ab59-49e3-4877-944d-ef298443c0e5"
      unitRef="usd">291000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC00LTEtMS0xNDE2ODY_b183acbd-aca8-4e04-9775-274871f63c14"
      unitRef="usd">68307000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC02LTEtMS0xNDE2ODY_e186ca30-d554-4e4a-8dcb-b1e48f9b9bf8"
      unitRef="usd">45758000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC04LTEtMS0xNDE2ODY_f95bc38d-1128-4395-9707-997117761129"
      unitRef="usd">22549000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i17d8aae57327493eb914b7095d2a49cc_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi0yLTEtMS0xNDE3MDg_1462aaa5-1b6d-4e9f-b3eb-dd9e99240497">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi00LTEtMS0xNDE3MDg_5bf4634f-8cdd-4d6e-aad0-b8e20b9b1d89"
      unitRef="usd">27000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi02LTEtMS0xNDE3MDg_c716db7b-895d-4a35-a45e-d1392abc81c9"
      unitRef="usd">16000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi04LTEtMS0xNDE3MDg_9cbd2721-45ce-4d1b-b38e-df45a25b7251"
      unitRef="usd">11000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i17b4d5dfd5ba4d36971bf6a5b718294c_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy0yLTEtMS0xNDE3MDg_e67ba0fa-2fa8-4d20-b5b9-6aeb725ddeef">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy00LTEtMS0xNDE3MDg_b576a928-9359-457f-aefc-7a05bb303a94"
      unitRef="usd">330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy02LTEtMS0xNDE3MDg_e462e5ed-abdc-4d40-834f-6af3f67e9bcd"
      unitRef="usd">187000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy04LTEtMS0xNDE3MDg_f114092a-559a-46e8-986f-197e58457041"
      unitRef="usd">143000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ia8040277b6404366936bf09a061070e8_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC0yLTEtMS0xNDE3MDg_2943bab3-4a97-47c5-b630-97df474a18df">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i464ff039fc88406d808d104214c145c3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC00LTEtMS0xNDE3MDg_e52f4a86-dc33-4483-afda-815448949ac8"
      unitRef="usd">27184000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i464ff039fc88406d808d104214c145c3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC02LTEtMS0xNDE3MDg_adde4d27-7057-4395-a8f0-5ccbb86d7132"
      unitRef="usd">14129000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i464ff039fc88406d808d104214c145c3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC04LTEtMS0xNDE3MDg_519a1a96-3944-4e2a-91c5-789c258f04f9"
      unitRef="usd">13055000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i7a6a48d68fcd41c7adb286c806f8c565_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS0yLTEtMS0xNDE3MDg_8c7f4059-849a-4997-946e-9315fe74ab68">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i14547eea555841b682acff4b937b4814_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS00LTEtMS0xNDE3MDg_947c1adb-ac17-4204-989e-5e96e9651383"
      unitRef="usd">7933000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i14547eea555841b682acff4b937b4814_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS02LTEtMS0xNDE3MDg_5fd016fb-46ee-4279-baa7-1b14f01b0a44"
      unitRef="usd">3989000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i14547eea555841b682acff4b937b4814_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS04LTEtMS0xNDE3MDg_a93a5c3a-d030-4070-9776-9dbb00959bf8"
      unitRef="usd">3944000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6ff42532b9ad488691876c7faca08a00_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi0yLTEtMS0xNDE3MDg_42de9dde-55e8-42c0-95df-aa5e9ac46885">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi00LTEtMS0xNDE3MDg_3eac69dc-633c-4487-b7b3-acfbac060e6d"
      unitRef="usd">32201000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi02LTEtMS0xNDE3MDg_4156182a-4c27-4b82-8406-327dfa8b6ef2"
      unitRef="usd">25827000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi04LTEtMS0xNDE3MDg_0d57f37a-acd5-49bc-9dbf-002a0b7b8d3f"
      unitRef="usd">6374000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ia192fe5493fb461788270535d4bb2e57_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy0yLTEtMS0xNDE3MDg_2cb6bfd7-df85-4fe7-acf7-306e438f6605">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy00LTEtMS0xNDE3MDg_3a362b47-4a80-489e-af20-4ceb573dde79"
      unitRef="usd">327000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy02LTEtMS0xNDE3MDg_c5cdb160-58fa-480d-b0b8-648883f940a6"
      unitRef="usd">23000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy04LTEtMS0xNDE3MDg_1849d8fe-f9de-4ef2-8adc-a0e6f17a687c"
      unitRef="usd">304000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC00LTEtMS0xNDE3MDg_e5295ea1-f14d-44a5-81de-26c94fb243b6"
      unitRef="usd">68002000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC02LTEtMS0xNDE3MDg_b5a42795-f797-42c3-9ac1-b1ca655016e0"
      unitRef="usd">44171000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC04LTEtMS0xNDE3MDg_68d20368-200d-4afd-8ba5-6ff89106b36d"
      unitRef="usd">23831000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfMTk5NA_d0fabc41-a3c9-4086-bc49-965e9ac90cd4">Accounts Receivable&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in reserves for uncollectible accounts, which are recorded as part of &#x201c;Selling and administrative expenses&#x201d; in the Condensed Consolidated Statements of Operations, were recorded as an expense of $155 and $61 for the three months ended March 31, 2023 and 2022, 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company establishes the allowance for credit losses based on historical collection patterns and other subjective conditions as necessary, including current and expected market conditions. Trade receivables are pooled based on age, which groups receivables of similar credit risk together. Management maintains stringent credit review practices and works to maintain positive customer relationships to further mitigate credit risk.&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',sans-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 style="width:85.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;813&#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;/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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(100)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;868&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="if2b81add6d61480eb72836ee31510df6_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfNjM1_376fdc93-86df-4a41-a2d7-75c6a4b8e4f5"
      unitRef="usd">155000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ice04d81f07234651b69d44a0cd7cab27_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfNjQy_ca8e722c-49cc-43d6-aee4-a6e2456cc708"
      unitRef="usd">61000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfMTk5Mg_a02c0b1f-267f-4aef-87c7-56fa73ed8926">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="width:85.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;813&#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;/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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(100)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;868&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMS0yLTEtMS0xMjU5MzM_8c8315e3-2cb8-420e-93e1-d7692ee042b2"
      unitRef="usd">813000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMi0yLTEtMS0xMjU5MzM_f3a4571f-9824-4a68-856a-ec9ffe0893e8"
      unitRef="usd">155000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMy0yLTEtMS0xMjU5MzM_e8c412cc-f1b6-4288-adb2-dc12eb150360"
      unitRef="usd">100000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfNS0yLTEtMS0xMjU5MzM_03e62b8a-be24-4b7f-9128-2c3b8e33e7e7"
      unitRef="usd">868000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90ZXh0cmVnaW9uOmNjYmQyZTE5MGU1YzRkM2E4YTU2M2QxOGE1YjliMGZmXzM4NDgyOTA2OTc1NDk_099dcdb2-914f-460a-aede-c3323db46335">Inventory&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 as of March&#160;31, 2023 and December&#160;31, 2022 are summarized in the following table:&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,844&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,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;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,594&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,721&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90ZXh0cmVnaW9uOmNjYmQyZTE5MGU1YzRkM2E4YTU2M2QxOGE1YjliMGZmXzM4NDgyOTA2OTc1NDg_be2b186d-f508-4d71-bc1e-0217ee3da2cf">The Company&#x2019;s components of inventory as of March&#160;31, 2023 and December&#160;31, 2022 are summarized in the following table:&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,844&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,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;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,594&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,721&#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;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzEtMi0xLTEtMTQxNjQ4_de953096-bddd-4510-ac3f-a2417c6cca90"
      unitRef="usd">47754000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzEtNC0xLTEtMTQxNjQ4_b4e2ce13-d0c9-4051-a820-ed815d4ff146"
      unitRef="usd">41431000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzItMi0xLTEtMTQxNjQ4_8b63f73f-3cb1-461a-85f0-707b4f6826c6"
      unitRef="usd">8844000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzItNC0xLTEtMTQxNjQ4_c05d0c2d-a90a-4e0b-a605-ef9a69610150"
      unitRef="usd">9693000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzMtMi0xLTEtMTQxNjQ4_fce4d9f7-c314-4eec-981e-9c58e62adf0e"
      unitRef="usd">27996000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzMtNC0xLTEtMTQxNjQ4_905fdb3e-601b-4db3-be18-e0eb4af3873c"
      unitRef="usd">24597000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzQtMi0xLTEtMTQxNjQ4_fd26333e-45db-4c9c-b997-3f446364302c"
      unitRef="usd">84594000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzQtNC0xLTEtMTQxNjQ4_54564c53-6725-429d-a241-edfdf0f4a669"
      unitRef="usd">75721000</us-gaap:InventoryNet>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1NQ_e3080f5d-a533-4b96-8ccf-47e9c3c5b936">Long-Term Debt and Related Matters&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(117)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(127)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,979&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,752&#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;/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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August&#160;13, 2021, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the &#x201c;Borrowers&#x201d;), entered into the Fourth Amended and Restated Credit Agreement (the &#x201c;Credit Agreement&#x201d;) with PNC Bank, N.A., Citizens Bank, N.A., Wells Fargo Bank, National Association, Bank of America, N.A., and BMO Harris Bank, National Association. The Credit Agreement, as amended, modifies the prior revolving credit facility, as amended, on terms more favorable to the Company and extends the maturity from April 30, 2024 to August&#160;13, 2026. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $130,000 (a $15,000 increase over the previous commitment) with a sublimit of the equivalent of $25,000 U.S. dollars that is available to the Canadian and United Kingdom borrowers in the aggregate. The Credit Agreement&#x2019;s incremental loan feature permits the Company to increase the available commitments under the facility by up to an additional $50,000 subject to the Company&#x2019;s receipt of increased commitments from existing or new lenders and the satisfaction of certain conditions.&lt;/span&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Credit Agreement as amended, will bear interest at rates based upon either the base rate or SOFR rate plus applicable margins. The Credit Agreement includes two financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company&#x2019;s consolidated Indebtedness (as defined in the Credit Agreement) divided by the Company&#x2019;s consolidated EBITDA, which must not exceed (i) 3.25 to 1.00 for all testing periods other than during an Acquisition Period  (as defined in the Credit Agreement), and (ii) 3.50 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 (as defined in the Credit Agreement), which must be more than 1.05 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 12, 2022, the Company entered into a second amendment to its Credit Agreement (&#x201c;Second Amendment&#x201d;) to obtain approval for the VanHooseCo acquisition (as defined below) and temporarily modify certain financial covenants to accommodate the transaction. The Second Amendment permitted the Company to acquire the operating assets of VanHooseCo and modified the Maximum Gross Leverage Ratio covenant to 3.75 through June 30, 2023 to accommodate the transaction.&lt;/span&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $1,084.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1Ng_4af06017-f41e-49ca-b014-7a48502d87db">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(117)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(127)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 style="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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,979&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,752&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LineOfCredit
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMS0yLTEtMS0xMjU5MzM_16af022c-63e6-4f68-ace4-b096a3725601"
      unitRef="usd">79825000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMS00LTEtMS0xMjU5MzM_b08f3b81-8866-4fe4-a657-010a738a06cb"
      unitRef="usd">91567000</us-gaap:LineOfCredit>
    <us-gaap:FinanceLeaseLiability
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMy0yLTEtMS0xMjU5MzM_18d24798-0c7e-428e-84dd-c6886b4bd1e0"
      unitRef="usd">271000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMy00LTEtMS0xMjU5MzM_74760d97-1fad-4df1-a35b-8ff10df4a80f"
      unitRef="usd">312000</us-gaap:FinanceLeaseLiability>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNC0yLTEtMS0xMjU5MzM_9ff6610e-1d55-4148-879b-250b45734afd"
      unitRef="usd">80096000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNC00LTEtMS0xMjU5MzM_be842b77-a7c6-46d0-8f7e-77e688fc7cb1"
      unitRef="usd">91879000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNS0yLTEtMS0xMjU5MzM_70e1a494-8af8-4c03-bd03-22b9d322194a"
      unitRef="usd">117000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNS00LTEtMS0xMjU5MzM_e5c5e2f9-809d-42cb-878c-a835756fac41"
      unitRef="usd">127000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNi0yLTEtMS0xMjU5MzM_203e7147-5d2e-45dd-bd0e-af36fd242e8f"
      unitRef="usd">79979000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNi00LTEtMS0xMjU5MzM_b47e5c77-ec50-4a0f-a1f5-aafac3a1d465"
      unitRef="usd">91752000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:DebtInstrumentTerm
      contextRef="id1ee7d2f61844c62906cd9688b062537_D20210813-20210813"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1OQ_f80c0420-844f-4b43-bb7e-b55298c0d587">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNzQ2_f47789e7-cd07-44c2-9f3d-9311cae66c91"
      unitRef="usd">130000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet
      contextRef="i4cc8eae28bc84027955c7169814b3709_D20210813-20210813"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMzg0ODI5MDcwNTc4Mg_b32d201c-16a4-403e-a1d3-f12b00e414ab"
      unitRef="usd">15000</us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet>
    <fstr:LineOfCreditAccordionFeatureLowerBorrowingCapacityOption
      contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfODMx_d8d2f893-0078-4434-bcc2-ca125b90c2ef"
      unitRef="usd">25000000</fstr:LineOfCreditAccordionFeatureLowerBorrowingCapacityOption>
    <fstr:LineOfCreditFacilityMaximumIncreaseInCommitments
      contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMTA3Ng_777b34be-06fb-4360-877f-8133eef622b4"
      unitRef="usd">50000000</fstr:LineOfCreditFacilityMaximumIncreaseInCommitments>
    <fstr:DebtInstrumentNumberOfFinancialCovenants
      contextRef="i5cad199d02584d47ba947b483e0c5e33_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNDk0NzgwMjMzMzE2NA_214c9404-eb31-42d5-8d26-deeea170098e"
      unitRef="covenant">2</fstr:DebtInstrumentNumberOfFinancialCovenants>
    <fstr:DebtInstrumentCovenantLeverageRatioMaximum
      contextRef="iec946c377c0f4c5db11cfaa6335f6a6a_I20210813"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMjY4Nw_9d361e78-7dcd-44ee-b9bd-8c995921ec2f"
      unitRef="number">3.25</fstr:DebtInstrumentCovenantLeverageRatioMaximum>
    <fstr:DebtInstrumentCovenantLeverageRatioMaximum
      contextRef="i0656019163c8485b830309ab3dedde3d_I20210813"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMjc3MA_9c000cf0-11e2-4e1b-89ef-a2f0b7668de8"
      unitRef="number">3.5</fstr:DebtInstrumentCovenantLeverageRatioMaximum>
    <fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum
      contextRef="i23eb32e78fb84b219632afb41e17c9b1_I20210813"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMzA4NA_afa51cbf-be97-4818-af60-10dd6f77d2ff"
      unitRef="number">1.05</fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum>
    <fstr:DebtInstrumentCovenantLeverageRatioMaximum
      contextRef="id0a992b75b7e481f8bd6f04e94c9df5f_I20220812"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNDk0NzgwMjMzMzY5MA_97449448-2348-4adf-b7ec-86869bfc82ec"
      unitRef="number">3.75</fstr:DebtInstrumentCovenantLeverageRatioMaximum>
    <us-gaap:LineOfCredit
      contextRef="ie5924391378a4b42afddf688f200d930_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTQ5NzU1ODIyMDIz_dac6793e-c862-4be4-b46d-4ff05516f446"
      unitRef="usd">1084000</us-gaap:LineOfCredit>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMzAx_86145a91-d982-42d3-ad05-5a0201ddc9c2">Earnings Per Common Share&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted loss 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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted loss per common share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,171)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,586)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic loss per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted loss per common share - adjusted weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic loss per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.20)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted loss per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.20)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.15)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were 101 and 122 anti-dilutive shares for the three months ended March 31, 2023 and 2022, respectively, excluded from the calculation.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMzAz_f75f3e4f-828a-4798-814f-3ddf02dd7760">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted loss 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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted loss per common share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,171)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,586)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic loss per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted loss per common share - adjusted weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic loss per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.20)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted loss per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.20)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.15)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMy02LTEtMS0xMjU5MzM_145595ee-da4b-4021-b794-f53b9baca888"
      unitRef="usd">-2171000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMy04LTEtMS0xMjU5MzM_2e6c485e-18d2-4997-aab0-daccb89d13b1"
      unitRef="usd">-1586000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfNy02LTEtMS0xMjU5MzM_8367fb55-bcb0-4d70-8272-5e8b6f735c1c"
      unitRef="shares">10792000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfNy04LTEtMS0xMjU5MzM_690215c2-6cc2-45ea-870f-249797340149"
      unitRef="shares">10685000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfOC02LTEtMS0xMjU5MzM_4b74201e-afb4-4339-80ff-29af760a5f11"
      unitRef="shares">10792000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfOC04LTEtMS0xMjU5MzM_8de76e1d-1dcf-4ed5-ab14-ca4a2550924e"
      unitRef="shares">10685000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTItNi0xLTEtMTI1OTMz_66cca9ca-c165-44f6-bd65-cc5b0bc35d65"
      unitRef="shares">10792000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTItOC0xLTEtMTI1OTMz_6c669606-3b9e-46bb-bbe9-57f1a112f9bd"
      unitRef="shares">10685000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTUtNi0xLTEtMTI1OTMz_c1e5a4d5-314a-4ad1-a0f8-499255667bdd"
      unitRef="usdPerShare">-0.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTUtOC0xLTEtMTI1OTMz_323062b5-1d35-4fe3-b1dc-f1ce004745e9"
      unitRef="usdPerShare">-0.15</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTgtNi0xLTEtMTI1OTMz_fb0c49a5-15e3-4d6e-9085-c748ffebaef0"
      unitRef="usdPerShare">-0.20</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTgtOC0xLTEtMTI1OTMz_24f81074-92cb-40b8-8a4a-4b87bfcc1b3e"
      unitRef="usdPerShare">-0.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMjA1_272a20fe-5c60-4214-af95-7b3b0c6bd234"
      unitRef="shares">101000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMjE5OTAyMzI1NTg5NA_0eeb5953-81f1-4ddb-a2de-b97a96bff302"
      unitRef="shares">122000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTI5Ng_20204dc1-bef1-4e4e-998f-a7967cd9fc11">Income TaxesFor the three months ended March 31, 2023 and 2022, the Company recorded an income tax benefit of $541 and $508, respectively, on pre-tax losses of $2,712 and $2,094, respectively, for an effective income tax rate of 19.9% and 24.3%, respectively. Due to the full valuation allowance on domestic deferred tax assets, the Company's tax provision for the three months ended March 31, 2023 does not reflect any tax benefit for domestic pre-tax losses, and is primarily comprised of taxes on our Canadian and United Kingdom operations. The Company continued to maintain a full valuation allowance against its U.S. deferred tax assets, which is likely to result in significant variability of the effective tax rate in the current year. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, could also impact the effective income tax rate each quarter.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfOTI_f5e717e4-314e-4c09-91f6-7269dedb4ce1"
      unitRef="usd">-541000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTEw_aeffc43f-5b7e-4907-8657-d4691094c4b8"
      unitRef="usd">-508000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTQ5_e47a3303-afce-4aa7-a7a0-59ebc8faa286"
      unitRef="usd">-2712000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTc0_599d1d93-9bd9-4c88-8475-f7f114b60a5b"
      unitRef="usd">-2094000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMjI4_e3e7483a-f6cf-4d5b-8579-4ed2a5a1204f"
      unitRef="number">0.199</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMjM1_de49e5b8-aa27-41d5-9749-88ce5d8aed55"
      unitRef="number">0.243</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzI5OQ_1d686272-1d85-4f7c-9061-01f25b70a596">Stock-Based Compensation&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recorded stock-based compensation expense of $884 and $258 for the three months ended March 31, 2023 and 2022, respectively, related to restricted stock awards and performance unit awards. As of March&#160;31, 2023, unrecognized compensation expense for awards that the Company expects to vest approximated $7,388. The Company will recognize this unrecognized compensation expense over the upcoming 2.9 years through March 2026.&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Shares issued as a result of vested stock-based compensation awards generally will be from previously issued shares that have been reacquired by the Company and held as treasury stock or authorized and previously unissued common stock.&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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock, Performance Share Units, and Performance-Based Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the 2022 Equity and Incentive Compensation Plan, successor to the 2006 Omnibus Plan, the Company grants eligible employees restricted stock and performance 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. Awards of restricted stock are subject to a minimum one-year vesting period, including those granted to non-employee directors. Performance share units are offered annually under separate three-year long-term incentive programs. Performance share units are subject to forfeiture and will be converted into common stock of the Company based upon the Company&#x2019;s performance relative to performance measures and conversion multiples, as defined in the underlying program. The Company has, on occasion, issued performance share units with longer performance periods as incentivization and retention tools. If the Company&#x2019;s estimate of the number of performance share units expected to vest changes in a subsequent accounting period, cumulative compensation expense could increase or decrease. The change will be recognized in the current period for the vested shares and would change future expense over the remaining vesting period.&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Since 2017, non-employee directors have been permitted to defer receipt of annual stock awards and equity elected to be received in lieu of quarterly cash compensation. If so elected, these deferred stock units will be issued as common stock six months after separation from their service on the Board of Directors. Since 2018, no non-employee directors have elected the option to receive deferred stock units of the Company&#x2019;s common stock in lieu of director cash compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2023, the Compensation Committee approved the 2023-2025 Long Term Incentive Plan which includes grants of performance share units and restricted stock. The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the three months ended March&#160;31, 2023:&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 style="width:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred&lt;br/&gt;Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174,173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,268&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,990&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;367,558&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.64&#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;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(57,329)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment for incentive awards expected to vest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256,834&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,268&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496,140&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.61&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensation
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTky_00a2054d-cde9-4282-b60c-7c0c4df2a889"
      unitRef="usd">884000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTky_1400e938-a63d-4e06-acc1-43f8095e2aab"
      unitRef="usd">884000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ieeccf59c4d014c0f9e6a4516f735c154_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTk5_1771bf32-39ad-4407-a24e-4cccd0cf93fc"
      unitRef="usd">258000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ic4d5d2dce02f4d9980504110fc5589ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTk5_a79550c2-592c-432c-ac1d-10eea16ba09f"
      unitRef="usd">258000</us-gaap:ShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNzEy_20d0971a-461e-45dc-b39d-4383107a4d7b"
      unitRef="usd">7388000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNzgw_ab0d221a-b101-4a1b-ba1b-93892ec82156">P2Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ifabcba39527245f1bba3fda32a7b2c1e_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwMg_4eab297f-f22a-4075-9648-ef1aad078319">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib5db3a3c79d94af3be08dd365100beb8_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzI5OA_6d703e4e-5e8e-4c58-997f-cc16e99dcc8a">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwMw_c8902c2a-e4dd-4942-bf7e-fe8b5c63dc16">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod
      contextRef="i31d5bc270ba642a3bcfeae8665897c82_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMjU0NQ_b2038d89-41c2-4ff1-8a48-2aae9a0ffc6f">P6M</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwNQ_b5b6f68b-43ee-46a9-a2df-e782554c4479">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the three months ended March&#160;31, 2023:&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 style="width:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred&lt;br/&gt;Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174,173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,268&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,990&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;367,558&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.64&#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;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(57,329)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment for incentive awards expected to vest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256,834&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,268&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496,140&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.61&#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;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i3054a345d5fc4baeb4f71cc2da4fc7ef_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS0yLTEtMS0xMjU5MzM_cb39cabb-4c27-4b30-a29f-e5ec4c2cd254"
      unitRef="shares">174173</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i5912913655b04663a88c211af18eab5f_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS00LTEtMS0xMjU5MzM_dced9ea5-97f7-4a9d-844d-2d86f6c83a80"
      unitRef="shares">46268</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i73845e2921ae4bbbb49b64bf6906cfd1_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS02LTEtMS0xMjU5MzM_13602fb6-fc71-4104-8452-669345619bd8"
      unitRef="shares">108478</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS04LTEtMS0xMjU5MzM_42011205-4177-4322-b1c0-ca3ae7633781"
      unitRef="usdPerShare">17.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi0yLTEtMS0xMjU5MzM_a412ee7e-81d2-4db7-9b19-54c063610ade"
      unitRef="shares">139990</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi00LTEtMS0xMjU5MzM_1178dd59-4d69-4284-bc23-1c6f299cd08d"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi02LTEtMS0xMjU5MzM_8571c7c3-926a-41b1-8ab6-834c1f411ccd"
      unitRef="shares">367558</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi04LTEtMS0xMjU5MzM_32cad365-8826-456a-8b03-b92d23a78804"
      unitRef="usdPerShare">11.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy0yLTEtMS0xMjU5MzM_5fa1d4d9-1f9a-4390-9f67-7d1c92dae12f"
      unitRef="shares">57329</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy00LTEtMS0xMjU5MzM_b723beac-90bf-4171-a0fb-1a209a16ff5c"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy02LTEtMS0xMjU5MzM_8be793fb-748f-41bf-a518-bae14e69cca7"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy04LTEtMS0xMjU5MzM_7b0ec133-af2f-4699-be69-a9aa11dbabf5"
      unitRef="usdPerShare">16.54</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest
      contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC0yLTEtMS0xMjU5MzM_d0f68b53-044f-4c80-9d12-70ef77dc9868"
      unitRef="shares">0</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest
      contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC00LTEtMS0xMjU5MzM_f614bf09-3ae2-455f-b811-2ab801f56f2a"
      unitRef="shares">0</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC02LTEtMS0xMjU5MzM_e002f330-2e46-42da-abeb-e555e3786ffa"
      unitRef="shares">20104</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC04LTEtMS0xMjU5MzM_9788cd37-0040-45be-84e5-97f1b1aa95b1"
      unitRef="usdPerShare">15.36</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ic1c82693c60f4c23b3e9d8a4006cf4fb_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi0yLTEtMS0xMjU5MzM_88699416-f321-4b67-a179-8eb6fca98556"
      unitRef="shares">256834</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i1ddb3375b8c34e8d9fc1ceb1a32c1e78_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi00LTEtMS0xMjU5MzM_64fdfb01-b6e8-4248-bd2b-c55085f21b03"
      unitRef="shares">46268</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i1fc16b9c4dfd49ffb6d93d0601eb035d_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi02LTEtMS0xMjU5MzM_9bf38b20-a50b-4c3c-a5b2-bcd97b9bc091"
      unitRef="shares">496140</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi04LTEtMS0xMjU5MzM_b779b0f0-3535-45ab-89fb-de056a4d1feb"
      unitRef="usdPerShare">14.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDU4MQ_0c742347-4d4a-40c2-94af-be8d95b9b588">Fair Value Measurements&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines the fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level&#160;1: Observable inputs that reflect unadjusted 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level&#160;2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level&#160;3: 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',sans-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;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 style="width:20.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 colspan="3" style="border-left:1pt solid #000;padding:0 1pt"/&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',sans-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 colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-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 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',sans-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 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',sans-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 colspan="3" style="border-left:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-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 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',sans-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 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',sans-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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term deposits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-left:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,528&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,947&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended March&#160;31, 2023 and 2022, the Company recognized interest income of $245 and interest expense of $97, respectively, from interest rate swaps.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDU4Mw_6b40c98a-da1c-418d-b6cb-88f31055b812">&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 style="width:20.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-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 colspan="3" style="border-left:1pt solid #000;padding:0 1pt"/&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',sans-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 colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-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 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',sans-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 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',sans-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 colspan="3" style="border-left:1pt solid #000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-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 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',sans-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 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',sans-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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term deposits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-left:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,528&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,947&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0yLTEtMS0xMjU5MzM_ac93bf11-583e-40c3-8350-62b977d6d8e9"
      unitRef="usd">17000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi00LTEtMS0xMjU5MzM_bbea0c62-5554-4cd1-8ed3-b6c188b4b3ed"
      unitRef="usd">17000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi02LTEtMS0xMjU5MzM_ce9209ac-2f9f-4855-81a8-e0d28b0e6064"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi04LTEtMS0xMjU5MzM_04da2975-d5bc-4cbc-9e39-910b343d01de"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xMS0xLTEtMTI1OTMz_015761ce-813c-4111-8f7f-6c27f0e73908"
      unitRef="usd">17000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib568587e419145de9b541b247ee12e38_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xMy0xLTEtMTI1OTMz_a7aa55ef-ab65-4507-8eda-1db5cefb3509"
      unitRef="usd">17000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xNS0xLTEtMTI1OTMz_5f9dd35e-d2e8-4de1-9987-185d9dce72b8"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xNy0xLTEtMTI1OTMz_f4ffa85b-edce-44d6-889b-4dd4406dbd48"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0wLTEtMS0xMjU5MzM_a2284e76-8e51-4d01-b40a-68d7797f7e76">Interest rate swaps</fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag>
    <fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag
      contextRef="i6491aaeade364f539409a05361d2685e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0wLTEtMS0xMjU5MzM_a59026a2-f03f-40d5-bd49-705964ad08cc">Interest rate swaps</fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag>
    <us-gaap:DerivativeAssets
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0yLTEtMS0xMjU5MzM_57b7db73-691d-40ba-a585-6fda63c71aca"
      unitRef="usd">1511000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy00LTEtMS0xMjU5MzM_dde788c4-b9f4-4cab-b384-339efc3ba6bc"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy02LTEtMS0xMjU5MzM_09f47f80-b46f-4d37-aeaf-e3d39e289ecc"
      unitRef="usd">1511000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy04LTEtMS0xMjU5MzM_ab971232-932a-43be-919f-cf444e1acef6"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xMS0xLTEtMTI1OTMz_166c7c38-320c-4a3d-9b64-e9cad064f7e7"
      unitRef="usd">1930000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ib568587e419145de9b541b247ee12e38_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xMy0xLTEtMTI1OTMz_b6da5913-c0d8-4bd7-a172-dea1400b4ec3"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xNS0xLTEtMTI1OTMz_1b1db69d-ab0a-45cc-8438-6a7ffe35ee45"
      unitRef="usd">1930000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xNy0xLTEtMTI1OTMz_d779484f-566b-4c5e-86ad-d751cb687313"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0yLTEtMS0xMjU5MzM_32091bc1-a16e-412a-bf71-8a718fa4058b"
      unitRef="usd">1528000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC00LTEtMS0xMjU5MzM_44e1d01e-315f-48cb-9122-6a90c22d7c15"
      unitRef="usd">17000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC02LTEtMS0xMjU5MzM_51b54d10-e6c6-44e2-b14b-b1189b9f9966"
      unitRef="usd">1511000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC04LTEtMS0xMjU5MzM_ca36d466-c459-4452-a129-6e9949ca30c2"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xMS0xLTEtMTI1OTMz_f7686896-ce73-4537-89bc-7ad53962c940"
      unitRef="usd">1947000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib568587e419145de9b541b247ee12e38_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xMy0xLTEtMTI1OTMz_a04923c6-d746-4206-90b3-a3cc2c6ddb17"
      unitRef="usd">17000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xNS0xLTEtMTI1OTMz_85418e2c-ea6f-4de2-911b-674d3bbf0463"
      unitRef="usd">1930000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xNy0xLTEtMTI1OTMz_e4686174-cd73-4e52-a774-d55c08ec5353"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <fstr:InterestIncome
      contextRef="ia5ebb139ce8e4e77b16ffb1cf78f6195_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfMjc0ODc3OTA3NzEyNw_2a8d84e1-251a-424e-8830-1465447bf9b4"
      unitRef="usd">245000</fstr:InterestIncome>
    <us-gaap:InterestExpense
      contextRef="i5a07a79a93c94edbabc309d9ec9ace8e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDIwNA_fe86f331-210b-4904-b71f-4efc5b5498a2"
      unitRef="usd">97000</us-gaap:InterestExpense>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3NQ_059ed8b5-9a7a-4083-92a1-57af633e9c01">Retirement Plans&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Retirement Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has three retirement plans that cover its hourly and salaried employees in the United States: one defined benefit plan, which is frozen, and two defined contribution plans. Employees are eligible to participate in the appropriate plan based on employment classification. The Company&#x2019;s contributions to the defined benefit and 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.&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;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="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;United States 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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs for the United States defined benefit pension plan for the three months ended March 31, 2023 and 2022 were as follows:&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49&#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;/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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#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;/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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company expects to make total contributions of $400 to its to its United States defined benefit pension plan during 2023.&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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs for the United Kingdom defined benefit pension plan for the three months ended March 31, 2023 and 2022 were as follows:&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(83)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension (income) cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;United Kingdom regulations require trustees to adopt a prudent approach to funding required contributions to defined benefit pension plans. For the three months ended March 31, 2023, the Company contributed approximately $84 to the plan. The Company anticipates total contributions of approximately $340 to the United Kingdom pension plan during 2023.&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',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&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',sans-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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;937&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;501&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <fstr:NumberOfRetirementPlans
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNjQ_857727c4-5510-4fa2-beaa-d290e28492fd"
      unitRef="plan">3</fstr:NumberOfRetirementPlans>
    <fstr:DefinedBenefitPlanNumber
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTUx_ba92b712-69e3-4278-b751-7dfcb4ccaefd"
      unitRef="plan">1</fstr:DefinedBenefitPlanNumber>
    <fstr:NumberOfDefinedContributionPlans
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3_33f1250c-9152-48b9-b883-fb9ad098a07a"
      unitRef="plan">2</fstr:NumberOfDefinedContributionPlans>
    <fstr:NumberOfDefinedContributionPlans
      contextRef="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNzE4_3b397682-709f-4481-8ee8-83521ed7ad2b"
      unitRef="plan">1</fstr:NumberOfDefinedContributionPlans>
    <fstr:NumberOfDefinedContributionPlans
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNDM5ODA0NjUxMzI2OQ_065a07aa-a036-4978-a35c-f275788b918c"
      unitRef="plan">2</fstr:NumberOfDefinedContributionPlans>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3Ng_5a0cede0-9684-4aee-ade5-d26a0d37ee79">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs for the United States defined benefit pension plan for the three months ended March 31, 2023 and 2022 were as follows:&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size: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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49&#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;/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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfMy02LTEtMS0xMjU5MzM_88dcc9a7-8216-4dab-a436-fcac9428ec61"
      unitRef="usd">71000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfMy04LTEtMS0xMjU5MzM_7463b30c-ba80-424a-a4ee-a9023d326108"
      unitRef="usd">49000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNC02LTEtMS0xMjU5MzM_1ae45505-4eab-4a25-b280-53efc2fe1cf2"
      unitRef="usd">64000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNC04LTEtMS0xMjU5MzM_62773370-ebdd-4bdb-a777-86081896e4e8"
      unitRef="usd">66000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNS02LTEtMS0xMjU5MzM_67d1b13b-c992-4534-a577-0c4d103fbf06"
      unitRef="usd">-16000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNS04LTEtMS0xMjU5MzM_dd4b52d5-4612-4a31-9ce9-e4b3d845f84d"
      unitRef="usd">-18000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNi02LTEtMS0xMjU5MzM_2d0a18f3-602a-4f27-942d-168630069def"
      unitRef="usd">23000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNi04LTEtMS0xMjU5MzM_5f36a120-fcb2-4cec-8a27-3a477d329509"
      unitRef="usd">1000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear
      contextRef="i8f48b19afaf0482797a80675aac94512_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTIwMw_4b87af09-5f14-4eb4-9c15-a6422c6388ba"
      unitRef="usd">400000</us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3OA_f3811ef1-70e5-461b-9f2a-7f29ba2f1ed0">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs for the United Kingdom defined benefit pension plan for the three months ended March 31, 2023 and 2022 were as follows:&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(83)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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',sans-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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension (income) cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMi02LTEtMS0xMjU5MzM_cbda4457-c9d4-4a67-b09f-a8b80ff74dd8"
      unitRef="usd">55000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMi04LTEtMS0xMjU5MzM_8988fdee-611a-4d2e-b0c2-8eca5da1a30a"
      unitRef="usd">45000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMy02LTEtMS0xMjU5MzM_ac60a4b6-f0e4-4892-b8e0-f335e9e9a4f6"
      unitRef="usd">83000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMy04LTEtMS0xMjU5MzM_8493a032-d00b-4391-b36d-480bfdf3b058"
      unitRef="usd">81000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNC02LTEtMS0xMjU5MzM_5ba4c0be-c0d0-43d8-a006-4586399647e4"
      unitRef="usd">6000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNC04LTEtMS0xMjU5MzM_bcb89b97-ffb5-472f-800d-ec087f4e696b"
      unitRef="usd">6000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNS02LTEtMS0xMjU5MzM_93bc0578-31f7-4568-a5e8-13948f3b2edf"
      unitRef="usd">-3000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNS04LTEtMS0xMjU5MzM_2d9b2d3e-f9b2-4f20-8d79-3807a0c1506b"
      unitRef="usd">-42000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNi02LTEtMS0xMjU5MzM_0e7a80c2-8c13-4eb5-a9ec-cce2c0f1e868"
      unitRef="usd">-19000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNi04LTEtMS0xMjU5MzM_64f77292-ec11-44a6-9b64-15e733b75851"
      unitRef="usd">12000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTU2MQ_b7b51ae4-ce56-4a8c-af1d-d0f5da9c5b84"
      unitRef="usd">84000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear
      contextRef="i03aaeb010a994532b372833fdbda117a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTYzOA_9d55184d-6c46-40ab-b5c6-bc8560f30b01"
      unitRef="usd">340000</us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear>
    <fstr:NumberOfDefinedContributionPlans
      contextRef="if37f45c29c0947b7be845886c8bee4ec_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTczNg_6776b5e2-281c-4ad6-b961-3b1fcb66374c"
      unitRef="plan">5</fstr:NumberOfDefinedContributionPlans>
    <us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3OQ_f1761435-3836-4311-b284-ee95238bd5ab">The following table summarizes the expense associated with the contributions made to these plans for the periods presented:&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 style="width:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;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',sans-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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;937&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;501&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMi0yLTEtMS0xMjU5MzM_758d816c-a7be-44bf-9cd2-72a97b9b94db"
      unitRef="usd">614000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMi00LTEtMS0xMjU5MzM_d750b60d-a7df-47b5-8e0a-b09a53442ade"
      unitRef="usd">305000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMy0yLTEtMS0xMjk3NjA_8d4b94e3-52f2-4ce5-a712-e7d6875ff4dc"
      unitRef="usd">62000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i8b23aea0f1804af6bc31cee106d39ff2_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMy00LTEtMS0xMjk3NzI_d884a006-4104-49eb-bb18-d92701f3f47c"
      unitRef="usd">61000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNC0yLTEtMS0xMjU5MzM_da28f7e9-d682-4281-ac9f-cd57e4f4e785"
      unitRef="usd">261000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNC00LTEtMS0xMjU5MzM_cf06bb8a-3c37-4312-8e91-5b209fdab158"
      unitRef="usd">135000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNS0yLTEtMS0xMjU5MzM_af12c089-485a-419d-bb83-9e207bed876b"
      unitRef="usd">937000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNS00LTEtMS0xMjU5MzM_f6d1bc29-6bd0-4fbf-8d14-07b796c2504f"
      unitRef="usd">501000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNjM0Mw_293eaac1-eb28-4222-815e-9dd80dc0917d">Commitments and Contingent Liabilities&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&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',sans-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, which is adjusted on a monthly basis 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',sans-serif;font-size:10pt;font-style:italic;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',sans-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 pending litigation in the matter of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, Case No. CI 15-564, in the District Court for Douglas County, Nebraska.&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the Settlement Agreement, the Company and CXT will 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 &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. Additionally, commencing in January 2019 and through December 2024, UPRR agreed to purchase and has been purchasing from the Company and its subsidiaries and affiliates, a cumulative total amount of $48,000 of products and services, targeting $8,000 of annual purchases per year beginning March 13, 2019 per letters of intent under the Settlement Agreement. During the third quarter of 2021, in connection with the Company&#x2019;s divestiture of its Piling Products division, the targeted annual purchases per year have been reduced to $6,000 for 2021 through 2024. The Settlement Agreement also includes a mutual release of all claims and liability regarding or relating to all CXT pre-stressed concrete railroad ties with no admission of liability and dismissal of the litigation with prejudice.&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',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected payments under the UPRR Settlement Agreement for the remainder of the year ending December&#160;31, 2023 and thereafter are as follows:&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 style="width:87.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.012%"/&gt;&lt;td style="width:0.1%"/&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',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,000&#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;/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="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&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',sans-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',sans-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. 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. The Company cannot predict the ultimate impact of these proceedings 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 March&#160;31, 2023 and December&#160;31, 2022, the Company maintained environmental reserves approximating $2,448 and $2,472, 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',sans-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 March&#160;31, 2023.&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',sans-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 March&#160;31, 2023, no such disclosures were considered necessary.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty
      contextRef="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxNzQ0_df1bd123-0042-460f-886e-31d4947959f7"
      unitRef="usd">50000000</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyCurrent
      contextRef="i6ccdd48888be4d76b22f81276d84307c_I20190313"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxNzk4_ec5a549c-c2f2-4cec-882c-c564c88da2b4"
      unitRef="usd">2000000</fstr:LitigationSettlementAmountAwardedToOtherPartyCurrent>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyNonCurrent
      contextRef="i6ccdd48888be4d76b22f81276d84307c_I20190313"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxODQ0_2ed9eddf-62ae-4162-bb5b-4520a74b0469"
      unitRef="usd">48000000</fstr:LitigationSettlementAmountAwardedToOtherPartyNonCurrent>
    <fstr:LitigationSettlementInstallmentPaymentTerm
      contextRef="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNDk0NzgwMjMzNTE0OQ_dd77e419-e37d-4069-82e8-3bedb506a1ca">P6Y</fstr:LitigationSettlementInstallmentPaymentTerm>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="i2901e860fe3b44048e366c92e31ac929_D20190313-20190313"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzk2_98d42948-e97a-4932-a18c-f7df2f7abd3e"
      unitRef="usd">48000000</us-gaap:LongTermPurchaseCommitmentAmount>
    <fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount
      contextRef="i88a60ef531c44caeb3094fe0a0f1d324_I20190313"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzky_aed982b5-c27b-43a8-844f-cebbcdb13d2a"
      unitRef="usd">8000000</fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount>
    <fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount
      contextRef="i9efa7996f27a4a84b08c787505291a52_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzg4_4819a713-1efa-4bb3-8f71-6224e13e0a4e"
      unitRef="usd">6000000</fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount>
    <fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNjMzOA_31ed003f-8f48-4269-8f86-c35088775381">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected payments under the UPRR Settlement Agreement for the remainder of the year ending December&#160;31, 2023 and thereafter are as follows:&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 style="width:87.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.012%"/&gt;&lt;td style="width:0.1%"/&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',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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',sans-serif;font-size:10pt;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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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',sans-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 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',sans-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',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,000&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfMS0yLTEtMS0xMjU5MzM_ae05788f-75dd-4d72-a3e4-871c49425383"
      unitRef="usd">8000000</fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfMi0yLTEtMS0xMjU5MzM_6cd89670-446e-4fd1-9b0e-922e4fd9373a"
      unitRef="usd">8000000</fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfNy0yLTEtMS0xMjU5MzM_e6b58fb8-d165-426c-b640-d3ce0341d546"
      unitRef="usd">16000000</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
    <fstr:NumberOfCompaniesReceivingGeneralNoticeLetter
      contextRef="if9631e06a9af44149a25f259886981f3_I20170605"
      decimals="-1"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMjgxNw_f7c1c3a5-c8db-42e2-9947-a9a73f51ba3a"
      unitRef="company">140</fstr:NumberOfCompaniesReceivingGeneralNoticeLetter>
    <fstr:PresentValueOfProposedRemedialWork
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzEwOQ_cc1415b2-fd2a-43b0-863e-711bd9353b4c"
      unitRef="usd">1100000000</fstr:PresentValueOfProposedRemedialWork>
    <fstr:UndiscoveredRemedialWork
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzExNg_9c752dc9-0e3b-4a2e-8585-c9a4f3a56731"
      unitRef="usd">1700000000</fstr:UndiscoveredRemedialWork>
    <fstr:RemedialWorkAnticipatedCleanUpPeriod
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzE4Nw_833b7a50-971c-4346-8fa7-5b8c4c8423e2">P13Y</fstr:RemedialWorkAnticipatedCleanUpPeriod>
    <fstr:NumberOfPotentiallyResponsiblePartiesIncludedInAgreement
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzU2Nw_09d0b013-ed41-4755-8345-624dbbe7170e"
      unitRef="potentially_responsible_party">100</fstr:NumberOfPotentiallyResponsiblePartiesIncludedInAgreement>
    <fstr:NumberOfPartiesRequiredToPerformRemedialWork
      contextRef="i29c0c6abf606419989d3a89721acf83e_I20200326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzg0ODI5MDcwNzQwMA_bf1d59a1-6550-4b20-853e-9cbef58b95d7"
      unitRef="party">2</fstr:NumberOfPartiesRequiredToPerformRemedialWork>
    <fstr:EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNDk0NzgwMjMzNTE1Mw_2ead225b-7b49-4a50-8469-2605d897485a">financial condition</fstr:EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag>
    <us-gaap:AccrualForEnvironmentalLossContingencies
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTA5NA_c9d91102-0b28-486f-9698-c74c23f39204"
      unitRef="usd">2448000</us-gaap:AccrualForEnvironmentalLossContingencies>
    <us-gaap:AccrualForEnvironmentalLossContingencies
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTEwMQ_01c4640e-836a-47c6-ad6e-1ea4d124adfc"
      unitRef="usd">2472000</us-gaap:AccrualForEnvironmentalLossContingencies>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">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.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>77
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MED[\R[8)'H<MPJY51%PO-!/Z-:$_2/BKX%*BO>";1)G0_$ZCQ"5CW$+K6N'
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
ME"HK .^74IJ7A3V@_J_&[#]02P,$%     @ X6.J5D&6!MK: @  <0<  !@
M  !X;"]W;W)K<VAE971S+W-H965T-BYX;6RM55UOTS 4_2M784*;-)8T:<,T
MVDA;!V(2DZJ5P0/BP4V<Q,RQ@^VV&[^>:R<-_=8>>$G\<>_Q.=?V\7 IU9,N
M*37P7'&A1UYI3'WE^SHM:47TA:RIP)E<JHH8[*K"U[6B)'-)%??#((C]BC#A
M)4,W-E')4,X-9X).%.AY51'U<D.Y7(Z\GK<:>&!%:>R GPQK4M I-8_U1&'/
M[U R5E&AF12@:#[RKGM7X]C&NX!OC"[U6ANLDIF43[9SEXV\P!*BG*;&(A#\
M+>B8<FZ!D,;O%M/KEK2)Z^T5^B>G';7,B*9CR;^SS)0C[]*#C.9DSLV#7'ZF
MK9Z!Q4LEU^X+RS8V\""=:R.K-AD95$PT?_+<UF$M 7'V)X1M0KB=T#^0$+4)
MD1/:,'.R;HDAR5#))2@;C6BVX6KCLE$-$W87IT;A+,,\DXRER'!/: ;8TI*S
MC!CL3 W^<+.,!IGC5(5'I+1[MZ#P16H-IQ.B<+JDAJ6$G\$[>)S>PNG)&9P
M$_"UE'--1*:'OD&6=BT_;1G=-(S" XPBN)<(K.$C,LLV\WU4UTD,5Q)OPJ.
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
M77&Y95'"I#: [S="J!\W^@'U#S=F_P%02P,$%     @ X6.J5JFO:0L8!P
M]S,  !@   !X;"]W;W)K<VAE971S+W-H965T."YX;6RU6VUOVS80_BN$5VPM
M4->BWITE!AI;+P&V+FC:[;,BT;96270E.F[VZT?)JAV1-!.C5R"()?ON.?+X
MD#H^H"YWM/[2K EAZ%M95,W5:,W8YF(R:=(U*9/F'=V0BO^RI'69,'Y;KR;-
MIB9)UCF5Q<0T#'=2)GDUFEUVW]W6LTNZ945>D=L:-=NR3.K':U+0W=4(C[Y_
M\3%?K5G[Q61VN4E6Y(ZPSYO;FM]-#BA97I*JR6F%:K*\&KW'%[%IM0Z=Q=\Y
MV35/KE';E7M*O[0W-]G5R&A;1 J2LA8BX1\/9$Z*HD7B[?C:@XX.,5O'I]??
MT<.N\[PS]TE#YK3X)\_8^FKDCU!&ELFV8!_I+B9]AYP6+Z5%T_U'N][6&*%T
MVS!:]LZ\!65>[3^3;WTBGCA@ZX2#V3N8+W6P>@=+='!/.-B]@RTZ^"<<G-[!
M$1V<$PYN[^ *#I9WPL'K'3S!P;1/./B]@]^-[GXXNK%<)"R97=9TA^K6FJ.U
M%QTA.F\^A'G5<O>.U?S7G/NQV9Q6&6<BR1"_:FB19PGC-W>,?W"*L@;1);^C
MZ9<U+3)2-[^AX.LV9X]HC#[?+=#K5V_0*Y17Z-.:;INDRIK+">/M:M$G:=^&
MZWT;S!-M^$194BC<YGJW.2U+SOZN<0KOA=[[-LFS,6_W/-GDZO"!'N C87QI
MX+D*DKK*JY6JX^$S'>>K3;.M'T_V(=+[OT_3;;DMNA'[BZU)S0>QY$O8NEU;
M'@CZ@S:J5L5ZU ^T2FG%:EKP7U;HIF*D)@T; DTXSPYD,P]D,SMD^P3R-5GE
M59LKOMP42942E#"T(.D[9.&WR#1,K"+/'M/M,-NE^&&&?<O%QN7DX2E9%&88
M#VT6LHUMF9XYM H42*[O6=;0+)3-QMC WG1H%JG,?-]VAF:Q;.9@_V S2+=U
M2+?5.5DGTGU3I2W!"'K-<]Q=O6EGJFHVJ_)NZ<:R?:9>-)LD)5<CSKB&U ]D
M-/OU%^P:OZNF,B38 A(L@ 0+(<$B2+ 8"&Q 1/M 1%L[[S_P&JQ0KT77>T]G
M,#T<WQ4FMQ;_7/I @@7*]KM"^T/(D!$D6*QHOVFHUQWG,-R.=MW9/XK2P:,H
MY\^4DKQ%%:<"KRA8\NU"Q08'<LV!!%M @@608"$D6 0)%@.!#4CH'DCH:M><
MVWY_5>3)?5ZT!6N2_<OKZ;:H53'/E>:!+3S)Y]J Y_()$BR ! LAP:+GTQH#
MQ1NPQ#NPQ-.RA.]_^>ZVXCNMNB95^HA8G50-KZB[?;66,)Z\</J^6)1JHY]+
M&4BP !(LA 2+%(F=NF*Y+!OYCOJIY1^HX&NI\+GB)7*1_\?W4KPRSA^25E1!
M*[['0Z_;XN4-XI1(DV:-E@5'7I-L1905C2\US7&$C<A<VY1S>0$)%D""A9!@
MT0OR&@,%'!!H>B#05$N@N< -5).T2)HF7^:<4XPB<EHHN)Y*G9L*^\VY-OJY
MG($$"R#!0DBPZ/FTQD#Q!I3!QE%^,[2DN6F:;:>$\*(XW0M:S3KAD0ZE<G>+
M=CE;KTF1H26MV^I9O?3TP09KIS7U!2+IFW0NDU0QL>5Y@J@"&C14!)U*R@MH
MR!@*;4B4)SHMUA*E4VW&K4R?=5LK7MYV58J2!EC*CNE(+-#&.YL%+P@9@(8,
M0=$B4+08"FU(EJ/.BO5":U!E@LKZ9U(?5%93R1E3&D#L8W?JB;11V$DZJ\+(
M-K%CB7Q08+D>_Q/4$X7=>&H:ACC?%69XBK$ %ROL'-]25X_X*+9BK83VO+BM
M3KLEI\#R''G-5MC):9>-;&P94MH56*;%QUI,NVPW=DU;2KO"S,18*ME5K3LE
M->&CM(CMGRER8T@Q;0Z*M@!%"T#10E"T"!0MAD(;,O*H?F*MKJ55NWM78:YX
MXO90'^%L'H%JE^HN.*:X>(#*DJ!HL:H+>'IB)3H*CMC]6;(WAM3<YJ!H"U"T
M !0M!$6+0-%B*+0A&X_")M8KF^?JWUA6U,0G_5P?\FQB@>J9H&@A*%KT@MS&
M4!&'=#F*GUBO?OZ $(YE80Z;DN*ICW\V=T U3U"T$!0M4F;7EK8TLI5]XGEV
ME#.Q7L\$$\2QK,*-;2SM<$#U35"T !0M!$6+7I3=&"KF\-S74>8T]3+G#VGC
MIBSV28>_0"5-4+0 %"T$18M T6(HM"')CA*IJ9=(8;5T4U8TQ]B3B >JHBIC
MFI9PFB@ #1HJ@F)#/,$4@<:,H="&3'ER#E6OCYXCIINR6NC[MD@#;;RS:?""
MD %HR! 4+0)%BZ'0AF0Y"KNF7MC5B^F6DC-[Q,$18LLSL$0;A9U\:%DVLHVI
M6& '*BRS/9 L'EN6[<8.]FQQOBO,>'>GPKH0*ULG'L68/'E!H7TEAB=PE5<-
M*LB2>QGO/$[U>O^6R?Z&T4WWSL(]98R6W>6:)+P,;0WX[TM*V?>;]C6(P[L^
ML_\!4$L#!!0    ( .%CJE: R5-6<0(  /(%   8    >&PO=V]R:W-H965T
M<R]S:&5E=#DN>&ULK511;YLP$/XK%I.V5MH* =I5&4%JLD[;0Z6HT;:':0\.
M7()5@ZE]A/;?[VP(2RL2[6$OV'>^[_-]A^^25ND'4P @>RIE969>@5A/?=]D
M!93<7*@:*CK9*%UR)%-O?5-KX+D#E=(/@^#*+[FHO#1QOJ5.$]6@%!4L-3--
M67+]/ >IVIDW\?:.>[$MT#K\-*GY%E: W^NE)LL?6')10F6$JIB&S<R[F4P7
ML8UW 3\$M.9@SZR2M5(/UOB6S[S )@02,K0,G)8=+$!*2T1I//:<WG"E!1[N
M]^Q?G';2LN8&%DK^%#D6,^_:8SEL>"/Q7K5?H==S:?DR)8W[LK:/#3R6-095
MV8,I@U)4W<J?^CH< (AG'!#V@/ U(#X"B'I Y(1VF3E9GSGR--&J9=I&$YO=
MN-HX-*D1E?V+*]1T*@B'Z4)5.?T3R!GMC)(BYTC&"FFAGX6&J0U9*GLHE,Q!
MFW?L]K$1^,S.EEQ30 $H,B[/V0=F"O*8Q$?*R[+[69_#O,LA/))#Q.X4$1EV
M2[GD+_$^Z1E$A7M1\_ DX1W7%RR:O&=A$$8C^2S^'1Z>2"<::APYON@(WU#,
MH[7\=;,VJ.E)_QZK7L<>C[/;-I^:FF<P\ZB/#>@=>.G;-Y.KX-.8]/]$]J(0
M\5"(^!0[/;:RI-;MW@D3QC2T5.#JTCM;@44!,F=G8A]X/E:3[J)+=Y&=5+LT
M"J^OX\3?'8H=B8KC.!BB.A7^0?N4H+=NJAB6J:;"[M$-WF%PW;A^?>6?TT#K
MYL]?FFX:TI/:BLHP"1NB#"X^4DZZFS"=@:IV3;I62"WOM@4-9= V@,XW2N'>
ML!<,8S[] U!+ P04    " #A8ZI6G-SC<64$   6"@  &0   'AL+W=O<FMS
M:&5E=',O<VAE970Q,"YX;6R55MMN&S<0_15B P0)(.OJ)(8M"9"2I@W:H(K=
MM 6*/E"[(RT3+KDAN9;U]SU#KC:R*QOMB[2\S)ES9H9#3G?6??4E41!WE39^
MEI4AU)>#@<]+JJ3OVYH,5C;653)@Z+8#7SN2132J]& \'+X>5%*9;#Z-<RLW
MG]HF:&5HY81OJDJZ_9*TW<VR47:8N%;;,O#$8#ZMY99N*'RN5PZC08=2J(J,
M5]8(1YM9MAA=+L]Y?]SPNZ*=/_H6K&1M[5<>?"AFV9 )D:8\,(+$WRV]):T9
M"#2^M9A9YY(-C[\/Z.^C=FA92T]OK?Y#%:&<91>9*&@C&QVN[>XG:O6\8KS<
M:A]_Q2[MG<!CWOA@J]88XTJ9]"_OVC@<&5P,'S$8MP;CR#LYBBS?R2#G4V=W
MPO%NH/%'E!JM04X93LI-<%A5L OS]\I(DRNIQ4V0@1#NX*># &1>'^0MRC*A
MC!]!F8B/UH32BQ],0<5]^P$8=;3&!UK+\9. 'Z7KB\FH)\;#\>0)O$DG<Q+Q
M)H_@+?+<-B8HLQ4KJU6NR(N_%FL?',KB[U."$][Y:3P^*I>^ECG-,IP%3^Z6
MLOGS9Z/7PZLGV)YW;,^?0O_/2?G_*$OIE1=V(U;,VF >1^.WDG Z<EO5TNPY
M1(V13:$"%>*M14*-3U\>D2LD3Y^"%J6\);$F,@(AJ:7#/F4BL"NPFU#9H8SC
M-A.U4P"I-7*Q)4-.:KWG=:I#L@T@]ME$(M&/%R^>/[L8CX=7/RX6J_@YNGHI
MT)JP.Y!3E=ATS)1)+2N>?5,D[XRH#-+>Q*;@1;""3[<8#<\^Q6T+%U2N*>7R
M@D-U3=M&)YR;LS_[8A$508#>]QAP+PHKC T SG53()9:LUWR=9_$QMJ K5#B
MZ%NC.$;KO6 U407G0%.@(QF^"W!?<*+V)-T9 2H_3LA:ZACBU,@Q)\5.>K0G
MAYX'M\Y6XI#34]@]L6Y@9T'LH9)"^5Q;W[@3I/OB0\J2K95AC9!=28-NSJB]
M:$\^J"HFCP,@BR]H:JE@7K $Y6,MP-!PI#1\Y(US/(=2<(W4_F74JB &G@WE
MY#WNCQ@P*392.5$?5?-1';8RBK[XM49Y14?8B8;MHS4S#Z4C$E5J7\3M2Z#Y
MY&77?00J.0;EX%FA2I4I5"[Y0CED^H ;2AD0@ST8"+JK<?EPR%MGG#QVPD3>
M :Y:DTN5=O#&2<8)_=1(AX*&IVNJK0L"NK[7J2]MHPOVP/<PGQ0$Z$MCTD77
M%?J]"CF5]0<E"1M'.!"'L#'P+_UE'YX]R* %Q [!YV[TYLJ+A3%(SPF&/_]+
M,,!.ZAVW%?2$Y+2?=??X%0"**/1X<-M>L*->VPH.,XU_.&,;UTVQ:.;6+AVI
MXM7H J'3\=UP2^ #5R?"$'$4@G@OS+Y9HU(5JH1\_]15,#BZJRMRV_@B81 T
MQ71M=[/=HV>1[OKOV].+"76Z13,3FC8P'?;?O,J$2Z^0- BVCC?_V@:\(^)G
MB8(AQQNPSJD_#-A!]Q2<_P-02P,$%     @ X6.J5G;(/Y%F!P  [1$  !D
M  !X;"]W;W)K<VAE971S+W-H965T,3$N>&ULE5AK<]LV%OTK&#73E698BP^]
MG-B><=QVMK-)ZXG3W0\[^P$BKT0T%*$ H&7]^ST7("DI5MSD@\W7Q7V>>RZ@
MJYTVGVQ)Y,33IJKM]:!T;OMZ/+9Y21MI+_26:GQ9:;.1#H]F/;9;0[+PBS;5
M.(WCV7@C53VXN?+O[LW-E6Y<I6JZ-\(VFXTT^[=4Z=WU(!ET+SZH=>GXQ?CF
M:BO7]$#NS^V]P=.XUU*H#=56Z5H86ET/;I/7;R<L[P7^K6AGC^X%1[+4^A,_
M_%9<#V)VB"K*'6N0N#S2'545*X(;GUN=@]XD+SR^[[3_ZF-'+$MIZ4Y7_U&%
M*Z\'BX$H:"6;RGW0NW]2&\^4]>6ZLOZ_V 79]'(@\L8ZO6D7PX.-JL-5/K5Y
M.%JPB+^R(&T7I-[O8,A[^;-T\N;*Z)TP+ UM?.-#]:OAG*JY* _.X*O".G?S
MMK%X8ZUXH#5R[>S5V$$M?QSGK8JW047Z%169>*]K5UKQ2UU0<;I^#'=ZG]+.
MI[?IBPK?2W,ALB02:9QF+^C+^A@SKR_[BKXV-/&!MMHX5:_%?V^7UAD@XG_G
MP@W:)N>U<9>\MEN9T_4 ;6#)/-+@YL<?DEG\Y@5?)[VODY>T?UL]OE.%^%B2
MN-.;K:SW0EDAQ;K22UD)1WE9ZTJO]\+JJN$VL6)K]*,JR B]$E2OH8H,%1%
M5S<KI*S!$PL530[5LBX$YT#E9(4KI1/+1E5%^Z'9<L:M4/7*2&2\\<LOCAWZ
M\8=%FLS?L$RM'R7W:&^62\5Z6FOHMD>PR-87\^"P+ K#X3HHM7)%;A^!+BHE
MEZI2_.!5D/$,5N<DH!H.(CP%UT*/D;&M(V*CK1-Y*:O*N[&&KL^-,N13>>*Z
M8-)S^+.BTKD,WJA:_(Z82W$+I2J7D7@ %QX]_M(84&KPZM8J>3X;MJN=(8\R
M1)Q#1-?^)7QW1WX,Y2CD'AZ#2=D'SW;**51E9?1&[$J5EU#V2'5##((UU62D
M0RW9$7H"RUL(2\/+\\;XF@^7(ZS4E@1<AG1(AP7C!4E#ZZ:2IMJS9A FM"WW
MP;52T4K\T:_ZF7+EB?R]_$0F8JVB88.V@5_ AZ=8%G :>?U$*'98 4M+9)#M
MZL9XF&FQ)($"<=)A$L^^]FW*0FJ'^4A :1MXH6QNR)%8J1H84 #_L4UNBD>I
M*KFL@,Z#UWT5.%AZE%7C#;*7)2G3?6> KA17J'9&+9LN#G>FL) !=%7A%;6Y
MA$F(&DX\H'A2D @O'1K0NJC[[.03M4'F9!A_0H?ECC;!5> <./".RE.+F&#*
MO@@Y0"?73>WCWV)=KEI8%(0<JB64>(PCF:EXSC4M-/F[_5H.[HX]^K6OR(/#
MBZ"%,XG @BUNT]NZ;B 2*)SCXIDLDOBG?_DJLY4]28,.P QBM-%FB92T4R0-
M$3\'\6DC_<.W&PPP#@[%WR'_0J*1-""WL[U!:%.Z8,;T#4K%:U@Q1"?S\-RK
MW['9>I 5]6D[@MQ]@-+PG;9V]!V2'P#?2'SL&%UU$'GHR/F5F$VB;#'!38KK
M@E]DT3R)<9-$<78)A92#I;D\H5GN.Y9/)U&*%<-LLAB)9!K%6#6<7R8CU(RH
M.@BRQ?<D;1/X4J2S:)',Q!#+TCB*YQ,Q3*.$M7S4#O6$::B;>&]2.)'B>KF(
MYI?LYC")+N-XU(?>=MFP\@%[6FLK"CQ%7"%;ZEW-?/%(OEVJIF#P]DR1:X/R
MXO8("EVG'?=]3X>8(QW%'-:6V/Q^;J1!7XI54^>!^#T!%Q@4N0,?MJ/OF)@Z
M3M[[;CHXQ9M*WZJ='.OW+1CUA'W,+)$ _GI=+8*772,V-;?+3KE2U5_08F^(
M7Q_"Z56Y_9:Z\?\EJX8&:O/2.<\T1T]MECLN.BC.,4G;O'#$EK:2WU?[GI]\
M#8^=O!"WB!G1YIC=P0 "?-Z4F.%?XN%;^-9YT'U?__(FU'/($3Z^0"+TG>.-
M Z0[)/_6<GF?R)]\(/B,AARAO^80"K-@V(J,.MKO11?I?"2FLTS\69]#]F&4
MHQ?#8&B.!4MIUO@*1=/TDFTNH(XY!$,5D=#)F&'?4Y!$.@IW\>5DY)$0N)!S
M$8)65=7PEII97UI+SS<IR_VY.KY0"QP#,+F9P4_H_!N(+@&QQ7'"=W/039*\
M0&U)/(FFBP37132]7/P=H66+*,UF8HI%X+7S%6CCS^)H.HOY$B^F/=]EV2S*
MYLQWV6P:92#2/^HNU#@<>:*3O &]O)/&@45B*,/>GMO/BQQ([)!R[OX[G-RQ
MMP> R6!OWV?FW;N[ U$,N472^$TK[)^2-P'-K^#99,*S%TC/>;L<L0M_@=NX
MSW@35?GC-MO.Y59Q;++X"Q!HN:;=7GK?Q"ON@TQPMWB>PT"+?)N;(DSXUI6
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
MJ1UF+7^Y$1R0TP*\7VGMNALRT'\)O_DW4$L#!!0    ( .%CJE9'B[5?CP4
M #8-   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;+U7VW+;-A#]E1VU
MD[%G6(LWW1S;,[;37!Z2NK';/'3Z )$K"3$)R !H17_? Y"2[$9V,IE.7T02
MV#V[>_8"Z&2ES:U=,#OZ4E?*GO86SBV/^WU;++@6]D@O66%GIDTM'#[-O&^7
MAD49E.JJG\;QL%\+J7IG)V'MRIR=Z,954O&5(=O4M3#K"Z[TZK27]#8+'^5\
MX?Q"_^QD*>9\S>Z/Y97!5W^+4LJ:E95:D>'9:>\\.;[(O7P0^%/RRCYX)Q_)
M5.M;__&N/.W%WB&NN' >0>!QSY=<51X(;MQUF+VM2:_X\'V#_CK$CEBFPO*E
MKC[)TBU.>^,>E3P33>4^ZM5;[N(9>+Q"5S;\TJJ5'60]*AKK=-TIPX-:JO8I
MOG0\/% 8QT\HI)U"&OQN#04O7PDGSDZ,7I'QTD#S+R'4H WGI/))N78&NQ)Z
M[NR-UN5*5A4)5=)O;L&&WBDGU%Q.*Z9S:]G9D[Z#)2_?+SK4BQ8U?0(UH_=:
MN86E7U7)Y6/]/CS<NIENW+Q(GP5\+\P194E$:9QFS^!EV["S@)=]3]A?!4RO
MI"TJ;1O#]-?YU#J#XOE['PVME7R_%=]0QW8I"C[MH6,LFWONG;WX*1G&+Y^)
M(=_&D#^'_L.I>Q9UO\_?8XIN%DPS7:'-I9J3$WXK0"AL0H>*!338DE0TWP!.
M1254P31=H\67VK1JEN=H? <X$S27;*0N-VA<'M-'(:N(;KA8*%WIN60;!>>N
MX; L8.3*<"&LHTNM"L..L:#+IH KUXZYVGUZK?<L?+*#S1OM1$47G5_"DI[1
M*RZXGB+JK@13^IF2233)Q_XECD;C 5Y>_#1.D_0EWC(L91EA;F J*/2Q,:R*
M-:&0E*U$F$>R!LN.DBS>*FZ>?NVQ ZC_8K%M %A(XR@>/6U]/,Q"/BXUK*BU
M)] /<+LCWIN7)D3LV 8>5".J:DUE8T("0SH;XQ9TUPCCV+0,B\KJ'9Y$.HRL
MG\&5,Y*.I,6LA"A&&)? %JY;K<$15?*681G+BI1V[7YP %AT+ZJ&/0NBJQ'O
M7J-:_8JM;15#B0ECUGY;U+I1[HA^1TS2"3_Z 58X;1"I\;1:*'I7],XQ6BTX
M%/?_X%H$8Q(YE:JHFC)PPEU-A(RW->.("ZUT+0O"LY2^<E#IK9('FS8NN%7)
M6KHVG$I,T38X8F_1E1&.V^42 :#YI.J:1+=!JEE;BCB,@8Y<'=%;O>)[GVE(
MV!UC!6*8,@)#!Y:R:)LT% ,8LLWT,\Y8;[KM\"/ZH+]9&+1"91N^:R0@?95[
M!BW.4A^\YX(]MVVK8.5N7Q[WM,:#$&:-\P/\@5VX9_P *G13E1MSJ,].<FGT
MY_:R@&*%(<@BY)FXUP8!KVEF=+W+RY<E9$4K+=L4^Z'T:"8%CIZ>1(]+!O2?
M[VMVC_'5 (K:FD)[:Q4&;,=:U_!A&(Q>AO[<C&G1CND5A_+O1K4]_K>Y3^$B
M@YR<@P'<R^B-T:CC\Z)HZ@8%@YT/N"Q^T.H7;]X').:&P_"TE/C9-,+/09H=
MXI'3%53"3DP9YMI!,AX=4I)G=!EN-XC)<%N'=B&7D!L"(,J3#*)Y-!D.()U&
M.4;MC1$E^[IN>77^DY2H.2B-HLE@1 =YE.3I(671.!GL<K&&1<K2*!T -AU&
M>0S8030&ZNLNOVAUG ),0\@!)QL>4CKQX0S'41:'D/)!-!J,?5A(P""?[#D7
M_BOVDJ$WDR0_2%\RS@-]23J!=!;%@\&WZ<.)=9!%D_'$TS?)\SWTQ0GH V\I
MG!A&V2A_BCZ?_2S.6_KB. WTP9]1$NA#>K*$]EV"^@_NLK5O07]C#RVK7'NM
MW:YN_Q2<MW?AG7C[CP*%/<?,@V,SJ,9'HT&/3'M+;S^<7H:;\50[4!E>%_AC
MP\8+8'^FM=M\> /;OTIG_P!02P,$%     @ X6.J5C6+07+C P  GP@  !D
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
M?CD3^VCPE\9M.!B#9+)V[DXF'\M%,I: T&!!PJ#X[QY7:(P0<1A?]YS)X%*
MA^-']@\Q=\YEK0*NG/E;EU0ODM,$2JQ49^BSV_Z!^WQ.A*]P)L1?V/:VTVD"
M11?(-7LP1]!HV_^KA[T.!X#3\0N ? _(8]R]HQCEE2*UG'NW!2_6S":#F&I$
M<W#:2E%NR/.N9APM/]K"-0A?U .&>4;,*.M9L4=?]NC\!?04/CE+=8#?;8GE
M,3[C2(9P\L=P+O-7"3\IG\)T,H)\G$]?X9L.Z4TCW_2[Z<&5#H5QH?,(_URL
M WD^$/\^EW+/.'N>42[)>6A5@8N$;T% ?X_)\N>?)N_&O[T2[VR(=_8:^W?+
M\>-H/K- -?+G$:'IRX12)F"1BWI0&90M99"/HOW*-:VR.[YPA?-BK2SHGI=8
MQ35:K#2!J^#-R6P2P6].QJ<C!H06XQTSNQ'PA6-Y?A4(BQXP1$0^>C_)>TP^
M&I_-OD5QDQ%_6%7]VJ%GKPB%9'*6GKWM@YZET[?'%"E<=6SN8BI59PS<*].I
MO@$8[D#*%BC!E4P;2!=R@]%[SE-\*(Z4PI$0OX2XTWIWKV,GJGY8V-)QVM:1
M-"_I0B"Z'HHH5$,@QW*-8H8Z\++F;JG-#E@)G@3VPRJ0U%@2<9V'E;*JU"R<
M8&ZM)K;Y4]L-<P.W;Q_S#RE\.:AOP8%KVTGB#J1[$W^@7A9-;=@@$&@*<)O>
MI,\KMZTU2\!Q&WW']1!RK@^W2"XE!+VQNM*%LL0NO%9K;33M8CX<VE/9AWHS
M2':*CATQ:(?2'U:ULAO.7C^=L?TYX2K]U[=[#H57UGQ!2NZH5$>:@"HXJPQ8
M1=('V*_(M^X"V_6J%ZXS?.9-<*!9*"[:<63?'DA4G.[73GE"GS[7 +*#WMR@
MW\07*(@?2WV;'E:'1^ZB[^U/YOT+R<=KPR4 @Q5#Q^G[DP1\_^KT$W)M[/1K
M1_QNQ&'-#S5Z,>#]RCEZG(B#X>E?_@]02P,$%     @ X6.J5F"3/*KF!@
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
M^\WLZ?&K1UPX[5TX?4SZ_Y"[_X=<=>E=WF;#O5MU46A;!O5E;;"FK'5UJVQ
MOR]^0P^JQJDZ+=EJ[W6%%5E<T:QUH[2WP2A;X9=1SN>V DJHS+4>M]U269BS
M: .,#6&JT),J,[X![J ?JG:)#"%=>:<C3$1.9P?QB>_"H_M6Z"SSK2XF:KNV
MV9HVZ_PW]!ZD$3A4R5(N;MG^?"8RC,\0$. 63<M<:/@WZ,+ MH]8E.>6L!.M
M>$CCCBJ(M"ZWF2ZBJJB=RVT.57:)1X)D\!S%Y(HV_EJJZ\IM*T0NMQN;4^P#
M<9ZJ7RLNN=09I:DK;0OO=*Z^^_:;Y_/Y\:M?+Z^NY'+VZGNF/?.F,>J+->J3
M;AKCU2\5KCQB-#MA)\Y>[$:9U<(T(>7!YA;YFZB+OWU!0#+G:^<U_>R4X4&G
M:Z+@H&'VD"6'\&(8-(5A":KSE3?QZCNJ2HOWO=!;OK7-6M$7UIR$:F-B'@QB
M5*T4*W@5@YGJK8S^(9@/A*AS<3-5/TW?L?X"%XP]O^<IG$<:U<]NJBX^JMG9
MD[.GIY-.(R"F\19)ND"%-PKS5;UW[:I >>$.DC91/YN%U^%:,V\YE''9/L?O
M)X&F;&V!2M"W*1)X0Z^P G[CJJ0*NGMX=CPY/CZ6F&%HHW3,D]_:?"4:K&0E
M-%UG++"ZBN'5ZG N"VU9&J0:0J$K6D,+Y"4J]8:]QZ@?GCZ7%;6V3#3^A0;%
M'H'&;>"@5L'>/+DUVJ=N0&=!/# 9RU,SF.72R"A7.97"A8?"@@<>$5VK]R8S
MY0+R,3M.50U :74E@*2)8J4-P0%J?G:-F:KSU+ELP\E8/RS^$4!#4&+EBY=[
M-4QBQ#7MR 7V6K0,*X%+<($XFJJ[2]%+&/%X(Q%P>5,OE\!:. Y\TR (95MH
M"4;C$,MQ7E.P<=DAH@C@$+(9ES?:KTPCB>E?U54E^)$,#DR#DGP@];:2-.X"
M@+Q1&'9/$)1&R<""]M&"G:KWK:<LOM"LK<_5[PALZD#$<"9MDKFJ2NRM+Z<4
M(?;Z[-FKH(!Y*%!+[.^&Q"4B!-F7G=N$Q=!C<70;B7G8U[5&0"5'@*0VBTD\
M?"I!8I_2P#[US/A49M[>&M1%</ E*]J<*51EVU"K!R_5<:ZAT+HYR 05_3AE
MKWK!*T%\)IHA<[*"'<Y>!8A@'AIV2H)KWT&63&D)7(4U.<L\#8Q!!S7F-O 9
MK$K--()'60X]@ 143?33W-3("B=6;/@PRK94_MY ,' #'N0QU;PA(4_ W/=1
MQ_12EP&%])+EH9%F--#2%=A.A)?J[US\8<_BJ[$:D72H8ID+",3++](TAVH6
M<_NAVECO*IK+7H+FGY""@I64H96AXS%R4^D(&Q,%6&O,A!YC4X"R0P-N4 *6
MSR#U")$H'.:\*O0V)AVIED9V("CC3"?RT*0N2!$S@YW3L4%]4P CG4=>( $
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
MXTJY7!M$P?,%/%\Z $;Z007]E_BW_P902P,$%     @ X6.J5NWK?8AJ!
M#@H  !D   !X;"]W;W)K<VAE971S+W-H965T,C,N>&ULG591;]LV$/XK!Q4H
M%L"Q;#EM@\0V8+?K5FS%W&3=!@Q[H*6SQ98B59**XW^_.U)2G4S)PUYLB;K[
M[OONCD?.#\9^=26BA_M*:;=(2N_KJS1U>8F5<&-3HZ8O.V,KX>G5[E-76Q1%
M<*I4FDTFK]-*2)TLYV%M8Y=STW@E-6XLN*:JA#VN49G#(IDFW<*-W)>>%]+E
MO!9[O$7_N=Y8>DM[E$)6J)TT&BSN%LEJ>K6^8/M@\(?$@SMY!E:R->8KOWPH
M%LF$":'"W#."H+\[?(M*,1#1^-9B)GU(=CQ][M#?!^VD92L<OC7J3UGX<I%<
M)E#@3C3*WYC#S]CJ><5XN5$N_,(AVLZR!/+&>5.USL2@DCK^B_LV#R<.EY,G
M'++6(0N\8Z# \IWP8CFWY@"6K0F-'X+4X$WDI.:BW'I+7R7Y^>5[J87.I5!P
MZX5'2K=W\,/&*)E+=&?SU%,0-DWS%G = ;,G &?PT6A?.OA1%U@\]$^)7,\P
MZQBNLV<!/PH[AMET!-DDFSV#-^L5SP+>[ F\59Z;1GNI]]#)A+]76^<M=<@_
M0X(CWL4P'N^:*U>+'!<);0N']@Z3Y<L7T]>3ZV?87O1L+YY#7ZZ%DP[,#C:,
MK:E&U,M#)/\'S.\ETJ[(354+?>1\-%HTA?18P%M#U=,N/CE*4R%X>;!;2G&'
ML$740/IK8<E.Z@!L"[)&ZFA?AO<V[;65!%(K2OP>-5JAU)&_8^VCKR=BGW4@
M$N)01[Y\<9EED^N?5JM->)Q>GP&-)++V:&4%NYZ9U'%4A3VOBQB=$:6F&C=A
M&#CP!GA7PW1R_BF8K:R7N<)8N$M.U0WN&Q5Q;L__&L,J*"(!ZCABP",4!K3Q
M!)RKIJ!<*L5^,=9#$CMC/)F2$HO?&LDYVAZ!U0057 .%'D]DN#[!8^!"'5'8
M<R2H_+0@6Z%"BN, IS4!!^%H+%F:=136F@JZF@YACV#;D)\A8H^5%-+ERKC&
M#I >PX=8)5-+S1I)=B4T37%&'05_=%Y6H7B< %%\H6'6CA>6(%WH!7+4G"E%
M,?+&6EZC5K"-4.XL:)4DAB)KS-$Y.C="P@3LA+10GW3S21^V,HHQ_%93>X5
M9$F#V@5O9NY+BPA5G%7(LPIHTN1E/VJ .CDDI8LLJ4NE+F0N^"#I*MWA^E)X
MRL&1& #>UW3H<,K;8%P\#L)$WA%<M44;.ZV+QD6F'?JI$98:FB+=8&VL!]+U
MO4]=:1I5< 0^?WFG4(*^-#H><'VC/^B0H:H_:DGRL4@;HDL; _\Z7H\ILB,R
M- +"A.!]-WUS[6"E-95G@.$O_Q%,8(-ZL[:#GI$<[5GWB$]_HDB-'C9N.PL.
M.&I'0;?2N,<KIK']$HMF;NVG$U7\-82@U*EP7[A#XD.A!M(0<"0E\4&:7;.E
M3I74)>C&0W,_/3FC*[3[<!-A$!J*\;CN5_O+SBJ>\=_-XTV)^G1/PPP4[LAU
M,G[S*@$;;Q_QQ9LZG/A;X^G^$!Y+:ABT;$#?N?3="P?HKX#+?P%02P,$%
M  @ X6.J5G.U5!I*!   !0L  !D   !X;"]W;W)K<VAE971S+W-H965T,C0N
M>&ULI59M;]LV$/XK!W7H;$"+]6+)<FH;2-(-*["L09QN'X9]H*6S)90B/9**
MDW^_(R4K3N=X"?K%I,B[YYX[/CQSMI/JJRX1#3S47.BY5QJS/1^-=%YBS?29
MW**@G;54-3/TJ38CO57("N=4\U$4!.FH9I7P%C.W=J,6,]D87@F\4:";NF;J
M\1*YW,V]T-LOW%:;TMB%T6*V91M<HOFRO5'T->I1BJI&H2LI0.%Z[EV$YY>I
MM7<&?U2XTP=SL)FLI/QJ/SX5<R^PA)!C;BP"H^$>KY!S"T0T_NDPO3ZD=3R<
M[]%_<;E3+BNF\4KR/ZO"E',O\Z# -6NXN96[7['+)[%XN>3:_<*NLPT\R!MM
M9-TY$X.Z$NW('KHZO,8AZAPBQ[L-Y%A^9(8M9DKN0%EK0K,3EZKS)G*5L(>R
M-(IV*_(SB\M&TXK6L,0-U=IH&-RQ%4<]G(T,X5NK4=YA7;98T0M8,5Q+84H-
M/XL"B^?^(^+5DXOVY"ZCDX#73)U!'/H0!5%\ B_NDXT=7OP"7I<CW.)6*E.)
M#?QUL=)&D33^/I9NBS8^CF:OR[G>LASG'MT'C>H>O<7[=V$:?#C!==QS'9]"
M7RSI^A4-1Y!KXIM+D5>\8D[);N4>18.P5K)^.CHCX4H*+7E5,//M";0IG0YZ
M5U*\+2KFBD-)D;:UC6=HXTK66R8>?]2T8>MG90)Z'WN'"H%I6$M.%]V.RGD1
M6B4+#:Y$@EB=PUVI$)]IY=C2[]21EHR4N,\//O?,;I1<5P8&OTFMAV^PO&45
M]^$.\U)(+C<5:A^8*,A/W5<Y ?P Z=B/LS%-(AHSNQ#[DS"@2>@'\90 ,6?:
MV$+G"@W:"$634P6BL1^1QR >9T,($S\@K\%D&@YA:1#YDZ&->(U,-PH=VRCU
MLS"% ;E%@1],QC"(_-"BW$G#N U-<&/')B(2$8W3S)],+<U!Z$^#8'A"<4FO
MN.0[%/=22=^LP-,D+DA<WX;^K]Q T)%O.Q[<\:#(!R)]_RZ+PLD'#?D!&[*Q
MY7R;,FWKL3_1006>1[9XQV[$TV%U9P2?* H%,X /]*>J$7YRB= V26U(RIF0
MT6?BIF#0F0RA$KFL#TRS:#*$)(WABV!TU7*762X5$:#I'KI5F718S:%AR=2&
M=@DHB:8V9D9P]BAAA90)[N,9]N#N TEQ$D;#=A9,QZ>4EO9*2[]#:1=:(Y7O
M4%BOT=7)D,>;M6UW;;^RI]H>7\5Y8_\2C"UAR^1Y_X/5XS%%GE 5_8WEI?L?
M^X@YUBLZ$OOQBF844O,)@M#.)M02PO!$^PF#L9]D(8V9GTRS_VLZ<>9'<0H)
M.5'O.:ZE+O\X\),TL$.0)7U/BN/4CR>V)\5IXL?4[(XI8W3P-*F1I&<?8/9:
M-L*TKY1^M7_C7;1/FR?S]H%(9=Q40@/'-;D&9Q/J)*I]=+4?1F[=0V<E#3V;
MW+2D=RHJ:T#[:RG-_L,&Z%^^BW\!4$L#!!0    ( .%CJE;[M-DCB@4  *4.
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;+U7;6_;-A#^*P?7[5J
MB$5)EN0T,9"DRU:@68,DVSX,^T!+9YNM)'HDG33[]3M2+W82UVF'85]L4N(]
M]]SQN:-X=*?T9[-$M/"E*FMS/%A:NSH<C4R^Q$J8 [7"FM[,E:Z$I:E>C,Q*
MHRB\456.PB!(1I60]6!ZY)]=ZNF16MM2UGBIP:RK2NC[4RS5W?& #[H'5W*Q
MM.[!:'JT$@N\1OOKZE+3;-2C%++"VDA5@\;Y\>"$'YXF;KU?\)O$.[,U!A?)
M3*G/;O*^.!X$CA"6F%N'(.CO%L^P+!T0T?BKQ1ST+IWA]KA#/_>Q4RPS8?!,
ME;_+PBZ/!]D "IR+=6FOU-W/V,8S=GBY*HW_A;MF;4H>\[6QJFJ-:5[)NOD7
M7]H\;!EDP5<,PM8@]+P;1Y[E.V'%]$BK.]!N-:&Y@0_56Q,Y6;M-N;::WDJR
ML],KO,5ZC?#Z1LQ*-&^.1I90W;M1WB*<-@CA5Q BN%"U71KXL2ZP>&@_(C8]
MI;"C=!KN!;P0^@ BSB ,PF@/7M2'&'F\Z)D0YUI5<$9<-4F!TFR7<.83C!K^
M.)D9__S/70EH\./=^*YL#LU*Y'@\H+HPJ&]Q,'WU@B?!VSWLXYY]O ]]>DUE
M6*Q+!#6'-A(#LWNX$)^4ADNMBC5%\X&L=C'?B[V;^<V24J5*JE99+\ Z6;0E
M*_\FUY9>GZEJ)>K[5R^RD*=O#=34/(PH&V*5)[9JB8FZ  <L<X1<6%PH?4_P
MVN.L4$M5&/#.:XO%(=PL->(#17D9N)\0KH0LNY"-A_ZI5#-1PKF639%?B)I:
M"34-"T,8)RR(,S?@+!ESN,%\6:M2+>[ANJ'4@%RK<NVL#60LBA+@(0O&$^^-
M;8PD&M8L[VR3F$59#$G$4AX0+\R%L4YAN4:+<+J694$Y-, #EF4)3-@D#> C
M1:Z?KN[#XA&+@Q#&Q'T':+\LC%F89<!I'3D_%S-* >67Z%G$K2R1[S%/74Q)
M$!..L)Z2"^0"A5GK)EL\8>%D BF+B>(CB,=KPX1E/*$M84$:PXVRM ,;"0R!
M$ZDX<XF?9"R=Q+"G#,9]&8R_N0S>22,6"XT+X?=\4QB[*F _["_;RG62M+)R
MLB=,/].B-G/:+IHOE)/JEIX-W EZ8-IJ,=\I:VIS^;+O<\^K[>M2>&:[F@VZ
M5)+&LG81HJN)B&51[':KT=O022D-$QID(9LD(7R\I<#]:J>A<=#)F',63 *(
M0C:FY4^WORV+82?182>8C3*>2T?XOZ<CGC">.(K$.8F:; 2)2TN2L7C"M[,1
MLW$<NVRD<>KJE(<0!2P*HEW):)K#L"O485<V?7%TQQ/%HQ8U]=@"5._K/U+8
M)>J<UE%K=$IN6#KI7WN6FP:[&6W"E?5J;:%"NU2%BX,:!>=N,&$1+>3Q00 O
M:7:0T-_&C#X M^S(*N)CE[-)QIT-_7#Z::ALXNW2UHIKV"4VS Y"@H^"@Q1>
M[FDG2=].DF]N)[L_"=CF^8DQ:+?F'Z28R5+:^UW]9J_?[SAQT?KM)D9;)^X/
M!O*.A7"LS.$CF@9.12EJ.FU)-JY78H[5C-+;5Q;E-&()C[P 1%'(YNBSZC$T
M<#H2 KAI>Z!I/J >+J(OXL8;F8L\5^N:[$C)*&]]&*_)U21Y\XC4H]8W=,,P
M2.'?):)LMX-ZQ.'33:*GWY"2A*6DRQVE^##F+5<NM#B.WL![UW_H7N":";TL
M_?%*8_Q";<H[S)4A^="\7+OO 8)_XH93743MIX$H/I$&7:^BGB?KSFJV-B0F
M0BSH&F.LM-30X#5]JJ39\_EE81SM/(9'6U<'4OW"7Y!<<FDGFUM$_[2_@YTT
M5X_-\N8"1UX7DI14XIQ,J5+IZ-7-I:B96+7R%Y&9LE1B?KBD>R1JMX#>SY6R
MW<0YZ&^FTW\ 4$L#!!0    ( .%CJE;L).(41@0   L*   9    >&PO=V]R
M:W-H965T<R]S:&5E=#(V+GAM;*U6;6_;-A#^*P=U*!) C251LN7$-N D2U=@
MZ8PD6S\,^T!+9XNH1+HD'3?_?D?*5M)5\8IA7R2^W.MSSY&<[)3^;"I$"U^;
M6III4%F[.1\,3%%AP\V9VJ"DG972#;<TU>N!V6CDI5=JZD$21<-!PX4,9A._
MMM"SB=K:6DA<:##;IN'ZZ1)KM9L&<7!8N!/KRKJ%P6RRX6N\1_O[9J%I-NBL
ME*)!:822H'$U#>;Q^67FY+W 'P)WYL487"9+I3Z[R8=R&D0N(*RQL,X"I]\C
M7F%=.T,4QI>]S:!SZ11?C@_6;WSNE,N2&[Q2]2=1VFH:Y &4N.+;VMZIW2^X
MS\<'6*C:^"_L6MF,!5!LC57-7IDB:(1L__SK'H<7"GGTBD*R5TA\W*TC'^4U
MMWPVT6H'VDF3-3?PJ7IM"DY(5Y1[JVE7D)Z=O5>JW(FZ!BY+^,U6J.&#M%RN
MQ;)&F!N#UL#) Z>9.9T,++ETBH-B;_ZR-9^\8I[!K9*V,O"S++'\5G] H7;Q
M)H=X+Y.C!F^Y/@,6AY!$"3MBCW7Y,V^/_4C^WV=^+4Q1*[/5"'_.E\9J8M%?
M?3"T7M)^+ZZSSLV&%S@-J'4,ZD<,9F_?Q,/HXD@.:9=#>LSZ[)XZM=Q2T&H%
MAWSZ8CQJI3_&APIAI6IJ72'78!T-P.]* H?8 D5%B*$!(6%]@'+):RX+A.43
MM>U&Z5;-X)J:V9(Y[34WJ(4J#]:P/(<[+NH0'K"HI*K56J )?5GN*191D).%
MQH(;"U=*%AHMTH(JMP6%<F\1Z^>IT[I%[NKF?3XHRVNXW,?%C4/J&@MLEL3W
M/9L2^ GB<3A.<S>(PE&>T>#MFSR)DPL:,5IB#.@LH$Z7U)M:HRR>@#@A3<W]
M&2,: M!"S*).\?!W:]\&0%0NJH[+Y"&)PFCTNO=\R. (6[*.+=D/L^5&2&'Q
MW:]T,/:POX]#1VWW<VC>EZVKT'<5"%M*J6:CI&<8Z;F5*UKA\LFC,;IP9.LB
MY6V?[E![6%NNFO-_NOOD3V=*<OZ(FBX;>*^5,3 OBFVSI>+1SD>Z 3\J^<ZY
M=]SB:XV>/09B5YP1?4X2=DJ_%!:DXG<B8%38DS@?G4*<,KCR1S;EI+'EA*G$
MAN2&9"!,8T:B:3@>9B2=A"EQ[4'SDNY9NH,])M9-0?(&O=(H'&<C.$G#.$U.
M@85YG#TWR!-Y!):$249FDV&81F0V"W.R>L,?E?9M5U,;( Q)CNRPX2DD8Y?.
M, ]9Y%-*LW"4Y2XM*D"6CGL:X_]"+QXZ-W'\'^&+\]3#%R=CDF9AE&7_#A^U
M[ D+Q_G8P3=.TQ[XHIC@(]P2"F(8LE'Z&GRN^BQ*6_BB*/'P43RCV,-'Y6%Q
M;XL.7ES0E-W:/T,,,7TK;7M7=ZO=2V?>7O#/XNTSB8B]%M)08"M2C<Y&U)&Z
M?7JT$ZLV_KI?*DM0^F%%KS743H#V5TK9P\0YZ-Y_L[\!4$L#!!0    ( .%C
MJE8P#394GP(  .(%   9    >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;)54
M;4_;,!#^*Z<P(9 8>6D+76DCM65HDX:$@(T/TSZXR:6Q<.S,=EKX]SL[;5:F
M4FE?$K_</2^V[\9KI9]-B6CAI1+23(+2VGH4AB8KL6+F7-4H::=0NF*6IGH9
MFEHCRWU2)<(DBB["BG$9I&._=J?3L6JLX!+O-)BFJIA^G:%0ZTD0!]N%>[XL
MK5L(TW'-EOB ]GM]IVD6=B@YKU :KB1H+";!-![-^B[>!_S@N#8[8W!.%DH]
MN\G7?!)$3A *S*Q#8/1;X1R%<$ DX_<&,^@H7>+N>(M^X[V3EP4S.%?BB>>V
MG 3# '(L6"/LO5I_P8V?@</+E##^"^LV=O I@*PQ5E6;9%)0<=G^V<OF''82
MAM$["<DF(?&Z6R*O\II9EHZU6H-VT83F!MZJSR9Q7+I+>;":=CGEV72:9:J1
MUL ]9LA7;"$03A[=SYR.0TL,+B[,-FBS%BUY!ZT'MTK:TL!GF6/^-C\D99V\
M9"MOEAP$O&7Z''KQ&211TCN U^OL]CQ>[S_L3O.<NQ?"!%QSDPEE&HT&?DX7
MQFIZ-;_VG4-+T]]/XRII9&J6X22@4C&H5QBDQT?Q171UP$2_,]$_A)X^4&7F
M#2E7!>PQ= 930;7&9(9 50MSC600OBEC]CDYR+7?R6/ID!T)ETNP_A0-D@BB
MLR58VIZKJF;R]?AHF,275P;8&TE9*XF.VJ 9O:^7KF'&A-]AQMF])I?5 O7V
M323P 89Q#^:-UB@MU*BYRJ'6:L5]WX@' WC2W.)'513 EM2FC-U1<Q)'T>D_
M)/3HLK)[=8[A8@C[[BW<J;L*]=)W%P/^1MH2[%:[!C9MZ_9O>-O]B'-)TD!@
M0:G1^>4@ -UVE'9B5>VK>*$L]00_+*D)HW8!M%\H9;<31]"U]?0/4$L#!!0
M   ( .%CJE82HJ_AJ0(  +L%   9    >&PO=V]R:W-H965T<R]S:&5E=#(X
M+GAM;(54WT_;,!#^5TX!H4T*I/G1IBUM) I#\("$@(V':0]N<FTL'#NS70K[
MZW=.VJQ(I7M)?.>[[[ZS_=UDK?2+*1$MO%5"FJE76EN/@\#D)5;,G*D:)>TL
ME*Z8)5,O U-K9$635(D@ZO4&0<6X]+))X[O7V42MK. 2[S68554Q_3Y#H=93
M+_2VC@>^+*US!-FD9DM\1/N]OM=D!1U*P2N4ABL)&A=3[R(<SQ(7WP3\X+@V
M.VMPG<R5>G'&;3'U>HX0"LRM0V#T>\5+%,(!$8W?&TRO*^D2=]=;].NF=^IE
MS@Q>*O',"UM.O:$'!2[82M@'M;[!33]]AY<K89HOK-O8./(@7QFKJDTR,:BX
M;/_L;7,..PG#WB<)T28A:GBWA1J65\RR;*+5&K2+)C2W:%IMLHD<E^Y2'JVF
M74YY-KN5KRBMTN_PY8G-!9JOD\ 2KML-\@W&K,6(/L&(X4Y)6QKX)@LL/N8'
MQ*<C%6U)S:*#@'=,GT$<^A#UHO@ 7MPU&3=X\7^;O.(F%\JL-,+/B[FQFE[%
MKWT=MX#)?D"GE+&I68Y3CZ1@4+^BEYT<A8/>^0&Z24<W.82>/9+RBI5 4 OH
MJ.\C>1!F/\FG$N%25363[R='PRA,SPWD9"M)98RKR+O#8HU-EY&7W6T DP5<
M88[5'/76&P&C VUUS?]@01A@J=!""1(]ETNP[FV-=[ ^0%QSR>D)%[!4JC!P
M#$GJI_W$+4(_B4-X)F6?<GE::Y6C,3#TATD"(W\PBN&!K4D0%C5GPD"4^J/1
M *+$[X_2[O0X&C@%23/N&(9NRV&G?3^-0MAW8<&.H"K4RV9LN(-:2=MJJ_-V
MD^FB%>2_\':L4<M++@T(7%!J[RSM>Z#;4=$:5M6-/.?*DMB;94G3%;4+H/V%
M4G9KN +=O,[^ E!+ P04    " #A8ZI6DQRL^K8"  #(!0  &0   'AL+W=O
M<FMS:&5E=',O<VAE970R.2YX;6Q]5,MNVS 0_)6%6A0)X$:R_'9M 7'2H $2
M('#2]E#T0$LKB0A%NB1E)W_?)64K;N'X0O&Q,SLK<G:V5?K9E(@67BHAS3PH
MK5U/P]"D)5;,7*@U2CK)E:Z8I:4N0K/6R#(/JD081]$PK!B703+S>P\ZF:G:
M"B[Q08.IJXKIUP4*M9T'W6"_L>1%:=U&F,S6K,!'M-_7#YI68<N2\0JEX4J"
MQGP>7':GB[Z+]P$_.&[-P1Q<)2NEGMWB-IL'D1.$ E/K&!A]-GB%0C@BDO%G
MQQFT*1WP<+YGO_&U4RTK9O!*B9\\L^4\& >08<YJ89=J^PUW]0P<7ZJ$\2-L
MF]A^/X"T-E95.S IJ+ALONQE]Q\. ./H'4"\ \1>=Y/(J[QFEB4SK;:@732Q
MN8DOU:-)')?N4AZMIE-..)O<*5E\MJ@KN,:5!28S6*)@%C.X9Y8.#)P]L95
M<SX++25TL##=D2\:\O@=\A[<*VE+ U]EAMF_^)"$MFKCO=I%?)+PGND+Z'4[
M$$=Q[P1?KZV^Y_EZ[_#YFJ^Y284RM4;X=;DR5M-+^7VLV(:K?YS+N6=JUBS%
M>4#V,*@W&"2?/G2'T9<32ONMTOXI]N21W)C5 D'E\-^=W4K27)-1K#FF^B3O
M<=5O"3*7(%7D0>.>!"6W)4*N!)F9RV)*CT2GI;^2:TRQ6J'VBR5NE-A0!*0:
M,VXA9RD7W+["1QA-.N-X0)-)MS,8CN"&2R93!('D+N.?8.ZW')P5&M'7!O&H
M2]PQ/"G+!(RC3C09.H[Q: )W: S916N*)'O86G/+B>RLVQV=TQC3^%;56FG?
M$KR6"<&]EM$@AF,W%1ZXJT)=^!Y"V50M;6.T=K=M4Y>-.]_"FQY'?ZO@TE"I
M.4&CB]$@ -WTC69AU=I[=:4L.=]/2VJUJ%T G>=*V?W")6B;=_(74$L#!!0
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
M@-HYT/Y"*;LR7(+^>4G^ %!+ P04    " #A8ZI6(ZUP3LL#  !&#   &0
M 'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6S-5]MNVS@0_96!6A0Q4$0W6[:S
MMH$X:;'%HD60I-UG6AI;1"52):DXVZ_?(75I4BAJT4V!10":(F<.SY!SR,GJ
M*-5GG2,:N"\+H==>;DQUYOLZS;%D^E16*&AF+U7)#'VJ@Z\KA2QS3F7A1T&0
M^"7CPMNLW-B5VJQD;0HN\$J!KLN2J7^V6,CCV@N];N":'W)C!_S-JF('O$'S
ML;I2].7W*!DO46@N!2C<K[WS\&P;!M;!67SB>-0/^F!#V4GYV7Z\R]9>8!EA
M@:FQ$(Q^[O "B\(B$8\O+:C7KVD='_8[]+<N> IFQS1>R.)OGIE\[2T\R'#/
MZL)<R^.?V 8TLWBI++1KX=C8QF2<UMK(LG4F!B47S2^[;S?B@<,B>,(A:ATB
MQ[M9R+&\9(9M5DH>05EK0K,=%ZKS)G)<V%.Y,8IF.?F9S34:KI"VV<!5P82&
MDUNV*U!/5KXA>&ODIRW4MH&*GH"*X;T4)M?P1F28/?;WB5;/+>JX;:-1P/=,
MG4(<OH8HB.(1O+B/-79X\1-XE[BGD0RV**C7! R77*>%U+7"H8@;P.DPH%7,
MF:Y8BFN/)*%1W:&W>?4B3((_1NA.>[K3,?3-#2DPJPL$N8<+J8VVG>_/:XCT
M*.PPZ=L<82\+TB@7!S V!5JA\J^HP= TWM--H!&8UC+ES-!&'KG)W5Q*!Z_X
MKK9"TY2>&8*1=H;L*Y=6='\XRPH5EYD&M[0@D#.XS17BH]QQ!VZ;"#X*;E>Z
M,;2@AI>0A%-JXV &%TRPC$$2T5AG]A>QSV0)$0V%\8PLE_&<VED0PLB)S/H3
MF8V>R",R0SL_ZOZ+Z9+TY)+GSN[D-]"=]W3G/YW='^CUZ6B[3!\B.PHW3-;B
M-@G'4ZC:IR1U4NKR\7%^9>T>[EHRG8_-X=[%N'PMFWQ%EZ]T4Z5Y?U4!$UF3
MO4=45C"MM/0/<OT=Z8&X&T>1LG8>4C-=PAM27FI9*C2U$M 1(B4BA7*23"?4
M)!.Z'%)Y$*38# 2%3B]>30)F!5 *: @3"!?PY)[06D3D)8PJ9=&?[N)GE-+J
M<>@X1_U_,?>6/;OE<TME^1OHAL&W1SIX7K&,X_U7M737[/]++C-[WT]G/Y3+
M(B:Y+,()G)=2&?Z5N?*0=K:BV*E@I=W@*;:16VY&T0O&FR*RE#4]O0G]C8LM
MAFDTK+43+E)9XJ2C?1(N)U9VT:#N_ >E78GJX I83;Y$HZGR^M&^2#YO2L-O
MYDV%3;M^X/04%[@GU^!T3J^5:HK6YL/(RA6*.VFH['3=G I]5-: YO=2FN[#
M+M#_Z[#Y%U!+ P04    " #A8ZI6XZM7I)P"  #2!0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970S-"YX;6R55&%KVS 0_2N'5\8&I7:<M"M98DC2C@U:%M)V
M8XQ]D.VS+2I+GB0W[;_?27:\#-+ OL2ZT[WW[DZYFVV5?C05HH7G6D@S#RIK
MFVD8FJS"FIDSU:"DFT+IFEDR=1F:1B/+/:@681Q%%V'-N R2F?>M=3)3K15<
MXEJ#:>N:Z9<E"K6=!Z-@Y]CPLK+.$2:SAI5XA_:A66NRPH$EYS5*PY4$C<4\
M6(RFRXF+]P'?.&[-WAE<):E2C\[XDL^#R"6$ C/K&!A]GG"%0C@B2N-WSQD,
MD@ZX?]ZQ?_*U4RTI,[A2XCO/;34/+@/(L6"ML!NU_8Q]/>>.+U/"^%_8=K'G
M<0!9:ZRJ>S!E4'/9?=ESWX<]P&7T"B#N ;'/NQ/R65XQRY*95EO0+IK8W,&7
MZM&4')?N4>ZLIEM..)NL5%US2UVV!IC,8:6DY;(D&VXX2[G@EJ.!=_<L%6C>
MST)+H@X:9KW LA.(7Q$8PRU15@:N98[YO_B0DATRCG<9+^.CA+=,G\%X= IQ
M%(^/\(V'#HP]W_A_.Y"YPJ^XR80RK4;XN4B-U?0W^G6H"YW(Y+"(&ZVI:5B&
M\X!FQZ!^PB!Y^V9T$7T\4L)D*&%RC#VYHU'-6X'PM8!/K77)KME+5Q*Y;K!D
M FB^K$#O/)3_487#^=]7"/C<T'QA#LU.L*5WUF#I[F&]V>S)PJ+4V)UHF?@(
MC6YON'A5>,<+,@TH<WH N,(,ZY3N=H_MGX>B:/D4EOR,ZF2&R 2M%C.%'PY\
M?0"\V9?Q3"=P>1I%D3,F_?%>6>K2"8PNO'GH6<*].:M1EWZ;&,A4*VTW<H-W
M6%B+;D[_AG?;CO[%)9<&!!8$C<X^G >@NPW2&58U?FI396D'^&-%2Q>U"Z#[
M0BF[,YS L,:3/U!+ P04    " #A8ZI6 E>I][\$  ",&P  &0   'AL+W=O
M<FMS:&5E=',O<VAE970S-2YX;6RU66MOVS84_2N$5@PID$0BY6=F&VB<%2NP
M;$'<;I\9Z=H6*HD>2=L=L!\_ZF'1LF@N3KDOMB3?>W0.=2]Y+$[VC'\5:P")
MOF5I+J;>6LK-G>^+: T9%;=L [GZ9<EX1J4ZY2M?;#C0N$S*4I\$P<#/:))[
MLTEY[8G/)FPKTR2')X[$-LLH__L>4K:?>M@[7'A.5FM97/!GDPU=P0+DE\T3
M5V=^@Q(G&>0B83GBL)QZ'_#=/ R*A#+BCP3VXN@8%5)>&/M:G'R*IUY0,((4
M(EE 4/6U@SFD:8&D>/Q5@WK-/8O$X^,#^L=2O!+S0@7,6?IG$LOUU!MY*(8E
MW:;RF>U_@5I0O\"+6"K*3[2O8P,/15LA658G*P99DE??]%L]$$<)"L><0.H$
M<IK0.Y,0U@EA*;1B5LIZH)+.)ISM$2^B%5IQ4(Y-F:W4)'GQ&!>2JU\3E2=G
M]UNAK@B!%K!23T<*=(.>(6)YE*0)+4>:+=65'>1;0$O.,ATI&9JS7+ TB:F$
M&%T]@*1)*MXKC"^+!W3U[CUZAY(<?5ZSK:!Y+":^5)R+._M1S>^^XD?.\ O1
M(\OE6J"?\QCB=KZOM#:"R4'P/;$"/E)^BT)\C4A 0@.?^>O3B85.V(Q_6.*%
M9_#JP50CO&%<)OD*?<JKYE1#;QJN"JYGABN:_DYL: 133W6U +X#;_;C#W@0
M_&32Z@BLI;S7*._9T&>_J3EJ05,P%D65.BA3BYEH-\.XWQN-)O[NF'\W;#P:
MCGM-5(M8OR'6MQ([/)+?-\!I^4B>.%LF$EW]RH1X;Z); ?:/>/2#\(1K-^:&
MD-'0S'70<!U8N6J.AZXTT;-B7%HSCL!:<H>-W*';;AFZ5.X(K*5\U"@?O;U;
M1IW2,G9+-\S2+>.&V-AUMXP[/$@0DA.RW: ;/ X",UD<Z.4NL-)]5@O4-?H,
MT3IG*5LE(*Z16IE4^_!=$IF'UPYY:16Y0FL/P-%ZC]VV4(WG2KTCM+9ZHM63
MM[=1G7M<<X->..J=5*8I+!SB<Z6IG0"V+K?_69KH'_2ZZ=Y^GXN?V/]A$K!V
M";CGN%ZMMN-B]8[0VNJU%<%V+V*OUZZE,-:K(<Q2K]IZ8+OW>,/,7R.VIOZP
MLTX9HG 0CL_PU=X!6Q?HV1.'B I9_&>).$@HZ,;;Z$P/.74.KM#:RK5WP"/'
M/60U(Q>K=X365J\-"K8[%'L/&<Q(CW1+LAN&^\&Y'B+:CA"['3E;DZ^>[.TW
MN/11N4)K#X<V)\2Q.2%.S8DKM+9Z;4[(=Y@3TG4=ID(UA-D*59L38C<G;YCL
M:\26A0]['<*&J.$8G^&K;0.QOUU82(!4=U/AHQZ!BBV'0H:1KE/?X JM+5_[
M!M)WW$A6'W*Q>D=H;?7:F1"[,[$WDL&##$9X<%J7AK @&)[YMTRT"R%V%V(O
MS-=/^T[]B2NT]IAH?T(<^Q/BU)^X0FNKU_Z$?(<_(09_8JI6TSN5L]4::G\2
MVOW)&Z;]&O'XI>S-Z:1OBB'X:&VHZ/I'^QH9\%6YW2-0Q+:YK-[X-U>;+:4/
MY4;*R?5[?#>O-H8T3+5/]4CY*LD%2F&I((/;H1I"7FW]5">2;<K=DQ<F)<O*
MPS70&'@1H'Y?,B8/)\4-F@VXV;]02P,$%     @ X6.J5E@2H3RI P  8@T
M !D   !X;"]W;W)K<VAE971S+W-H965T,S8N>&ULS5=M;]LV$/XKA%8,"=!$
M$N77S#90.RL6H,6"N.D^#/M 2V=+*$5J)!UG_WY'2I;?9#4%/&!?;)*Z>_C<
MP]/I.-I(]4VG (:\YESHL9<:4]SYOHY3R)F^E04(?+*4*F<&IVKEZT(!2YQ3
MSGT:!#T_9YGP)B.W]J@F([DV/!/PJ(A>YSE3_TR!R\W8"[WMPE.V2HU=\">C
M@JU@#N:Y>%0X\VN4),M!Z$P*HF Y]CZ$=[,PL@[.XFL&&[TW)C:4A93?[.0A
M&7N!900<8F,A&/Z]P PXMTC(X^\*U*OWM([[XRWZ1Q<\!K-@&F:2_Y$E)AU[
M X\DL&1K;I[DYC>H NI:O%AR[7[)IK(-/!*OM9%YY8P,\DR4_^RU$F+/ 7&:
M'6CE0(\=.F<<HLK!*>>7S%Q8]\RPR4C)#5'6&M'LP&GCO#&:3-ACG!N%3S/T
M,Y/I6N.*UF0.*SP=H\D->8)8BCCC&7-*RR7YO0"%$[$BCTHN,T.N/DFMK\E2
MR7SG:2292:$ESQ)F("%7]V!8QM'NACS/[\G5NVORCF2"?$GE6C.1Z)%O, ;+
MQ(\KOM.2+SW#-R*?I3"I)K^*!))#?Q]CKP6@6P&FM!7P,U.W) K?$QK0J('/
M[.WNM(5.5)]'Y/"B,WB5F'@&A516\?>[XT#Y'PSD!%_>-YW(R8'\^0EW<QCZ
MKR;I2VJ=9FJVH-SI@L4P]K!B:% OX$U^_BGL!;\TZ78AL ,5.[6*G3;TR4Z=
MHE*'E^J@<LHIRQ8<B*XRMTF+<H.>V\#6PI=)-\#\>-D/\=3FAM)!O[8ZX-ZM
MN7?;N9L4%+F"5ZS4&J[Q?8EE#O@*"3!-1$NT[CZ)<$#[1U1/K;J]J)EHKR;:
M:R5J$XXL #6%+4G#7J%1S=XI2=H/Z1'))JM@V&FFV:]I]M^8"_.6XV[%^-'4
MOQ#80;B#.MS!_[> #"ZIXH7 #E0<UBH._^L",CQ)9AI$QQE_:G03#H.@.>/#
M8/=1#UKI/P@#*(HA514Y7STJH$,&T6!PQ+/)+.J?X[G7?(07K745W/>*78/9
MV6H7TAU9VDKV63#.9>Q>A%@J3 (<;A76!/L9(ET\ZWW#E*E5<TVLMCL,IDN'
MQ\$TF$7G/C+AKL\(6S_ /U2]*ZC>=\IWH]EI_?;WNM4<4!W;Q&N4="U,V;?5
MJ_5%X8-KCX_6I_8"X;K@'4QY^\"N;)4)33@L$3*X[:-ZJFSHRXF1A>N)%])@
MA^V&*5Z"0%D#?+Z4TFPG=H/Z6C7Y%U!+ P04    " #A8ZI6+H>^ 'P#  "I
M#P  &0   'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6RM5]&.HS84_16+KJI=
M:3I@"(29)D@[&57=AU5'R4[[[(&;Q%IC4]M)ME(_OK8A)&0):E:\)+:YYW#/
M]0&N9P<AOZHM@$;?2L;5W-MJ73WZOLJW4!)U+RK@YLI:R))H,Y4;7U422.%
M)?/#($C\DE#N93.W]B*SF=AI1CF\2*1V94GD/T_ Q&'N8>^XL*2;K;8+?C:K
MR 96H%^K%VEF?LM2T!*XHH(C">NY]Q$_+G!L 2[B3PH'=39&5LJ;$%_MY%,Q
M]P*;$3#(M:4@YF\/"V#,,ID\_FY(O?:>%G@^/K+_YL0;,6]$P4*POVBAMW,O
M]5 !:[)C>BD.OT,CR"68"Z;<+SHTL8&'\IW2HFS )H.2\OJ??&L*<0; DRN
ML &$_Q<0-8#(":TS<[*>B2;93(H#DC;:L-F!JXU#&S64VVU<:6FN4H/3V=-.
MF16ET HV9G>T0K^@)>2"YY11XBHMUNBC4F NK:4HCX%("[007 E&"Z*A0.^?
M01/*U ?#\+IZ1N_??4#O$.7HRU;L%.&%FOG:9&SOZ^=-=D]U=N&5[#X3>8\B
M?(?"((QZX(MA^#/D+3SLPGU3I[9885NLT/%%5_B.TI=0":DIWZ!/O'Z23)WZ
MU-5TDWXZ^X0^JHKD,/?,(ZA [L'+?OX))\&O?5I'(NLHCUKET1![5AN@3V*-
M2QS.OC/V610ET32=^?OSY'O"DCC"01O626O2IC493.N/"B1Q&]':]U^T-"Z\
M0U\@WW+!Q(:"ND/&?B9$[FD.O2H&;W/K1HU$UJE(W%8D'M>B\9C*1R+K*$]:
MY<D/6K3&Q6?>PTD4!/C"HCUATQ!CW&_1:9O6]':+ODC(B=+V!9I+T& 61+'+
M^],?Y+]UAT8BZY0B;4N1CNO-=$SE(Y%UE#^TRA]^T)L/WYLNF,3II3?[PM+X
M(>WW)@Y.7__@=G>N- !K+>G>G9^!J)T$&]'[%1^\RZT[-19;MR9G'1$>UZ8-
MWUCJ1V+KJC^U.'BPCQBP:@,\-V&4AE%R8=6>L'@2X^2*54\="!YN05XY84SD
MKM?,A31[8X:(7$]WD.[F71F)K2O^U.?@R<B>'+6C&8NMJ_[4T^#!QF'(D_'W
M?640)\&E)_O"S OTPI/^V3G*'F+-\6-#N4(,U@87W$\-C:S/A?5$B\H=K=Z$
M-@<U-]R:LS1(&V"NKX70QXD]K;6G\^P_4$L#!!0    ( .%CJE8,V+Z"$0,
M (,,   9    >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;+57;6_:,!#^*U96
M3:VT-2$);QU$*K!IE=H)E77[;)(#K"9V9AMH__W.2<B@#1%(V1=B7^Z>N^<Q
MN5P&6R&?U0I DY<DYFIHK;1.;VQ;A2M(J+H6*7"\LQ RH1JW<FFK5 *-LJ D
MMEW'Z=@)9=P*!IEM*H.!6.N8<9A*HM9)0N7K"&*Q'5HM:V=X9,N5-@8[&*1T
M"3/03^E4XLXN42*6 %=,<")A,;1N6S>3OO'/''XQV*J]-3%,YD(\F\U=-+0<
M4Q#$$&J#0/&R@3'$L0'",OX4F%:9T@3NKW?HWS+NR&5.%8Q%_)M%>C6T>A:)
M8$'7L7X4V^]0\&D;O%#$*OLEV]RWT[9(N%9:)$4P5I PGE_I2Z'#7D#+/Q+@
M%@'NVX!C&;PBP#LU@U\$^)DR.95,APG5-!A(L272>".:661B9M%(GW%S[#,M
M\2[#.!V,U@HM2I$9+/$TM2*?R0\J)37'02XGH"F+U15:GV83<GEQ12X(X^3G
M2JP5Y9$:V!JK,%AV6&0<YQG=(QD]\B"X7BGRE4<0'<;;6'U)P=U1&+FU@ ]4
M7A//^41<Q_6JZCDEO'4T?')ZN%O#QBL/Q,OPO"-XQ3F01TB%U(POR1W/GVY\
M3"K*&^5P?C6<Z1HW*J4A#"UL"PKD!JS@XX=6Q_E2)5638).&P YD]$L9_3KT
M8"I%"! ILI B(?/=OSQB*A6*&2VK_KJC6M!SQ<S!.AF8:;^;H.WY_L#>[(OT
MWJG5ZK=+IP/R[9)\NY;\O4"JIJDJA2^.")]DI9E>8\E5G&NQSN7<?D?'=3SO
M#>?W3DXUX4Y)N%-+>(PO0PTAMA20RU?L97+#0E#D_GY<Q;@6[%S&38)-&@([
M$+%;BMAMMO-TFY2Q2;!)0V ',O9*&7O_H_/T3F@6X]K,YXK4$-B!2/U2I'Z#
M':I_0E,9UR8\5YN&P')M[+WQ+,$&E8VYBH1BS74^YI36<I*^S0;(-_8Q3MCY
M0/P/)A_/<0I9,JY(# N$=*Z[V&)E/O+F&RW2; B<"XTC9;9<X5<"2.. ]Q="
MZ-W&)"B_.X*_4$L#!!0    ( .%CJE:>8 70\ 0  ,H=   9    >&PO=V]R
M:W-H965T<R]S:&5E=#,Y+GAM;+59:X_B-A3]*U:ZJG:EZ21V'H0I(.TPG6VE
MHHZ&V?:S"0;236)J.[ C[8^O\R#!)+@PZWZ!)-Q[?(]]<$YR1WO*OO -(0)\
M39.,CZV-$-L[V^;1AJ28W](MR>0O*\I2+.0I6]M\RPA>EDEI8B/'">P4QYDU
M&977GMAD1'.1Q!EY8H#G:8K9ZSU)Z'YL0>MPX3E>;T1QP9Z,MGA-YD1\WCXQ
M>68W*,LX)1F/:08868VMC_!NZI8)9<2?,=GSHV-04%E0^J4X^6TYMIRB(I*0
M2!006'[MR)0D28$DZ_BG!K6:,8O$X^,#^F-)7I)98$ZF-/DK7HK-V HML"0K
MG"?BF>Y_)34AO\"+:,++3["O8QT+1#D7-*V3905IG%7?^&L]$4<)$J<_ =4)
MZ#3!.Y/@U@EN2;2JK*3U@ 6>C!C= U9$2[3BH)R;,ENRB;-B&>>"R5]CF2<F
MSV1'LIR G\ <)X2#Q2N8X;\I T^,+O-(@-]E GC_0 2.$_Y!QGV>/X#W[SZ
M=R#.P,N&YAQG2SZRA:RFP+2C>N3[:F1T9F07S&@F-AS\DBW)4LVW)8N&"CI0
MN4=:P!EFM\"%-P YR.VI9WIY.M*4XS8SZY9X[AF\AYCC]9J1-2[U2E>@GNN^
MJ:J@O'ZHXJ]\Q[<X(F-+_E<Y83MB37[\ 0;.SWT\#8$IK+V&M:=#G[Q0@1.0
MR?V'%WKJXUH!!"5 L<OL)A#Z7AB.[-TQBV[8,!P,O29**<]ORO.UY3U+%=^
M%Q)M,IK0=4SX#9#R!7,Y#7'47Z\6\=JU,02FD \:\H$Y108F61L"4U@/&M:#
M[U5D!> ?22WPW- [$61/E#N 3K\@PZ:Z4%O=$R,1Y@),:18Q(LAAW^VM4PMU
M[9H8 E-8#QO60W-*')ID;0A,80V=]F;K?*\6:X1CF2$/=7;'GC#H.^?4"(_L
M -16.!>$)(T(R[UQ1C#/&9'>3?06K 6\=GU,H:GT44L?F1-FC66*N2$TE7GK
M5J#6%EPD3;<KS2"$P:DT>\(<9W#FS@U;9P'UUJ*X=ZO*_)30A2SZD<75,\$,
M9_+1HQ J^ ;><JO75W#UBAI"4^>KM3K0-ZAEHR['%)K*O/4Y4&LH+M)RT!&I
M'SA>9YOM"8.!#\]HN?4D\#],R4&6KXT>*W'2)"]6B[]5P-IAKUY&0VCJ)+76
M"(8&!6S4')E"4YFW]@AJ?<A% AYVE!FZ;F<O[D9!Y/C#?OVBUL@@O9'IV-;[
M/$Z6<;8NA'N5I]4/=.VZF4)3IZ5U3PB:4RPR:IQ,H:G,6^.$M/;D$L76"(H6
MG3 \E6Q/V' X.&-L4>MOD-[?_"$VA)V7YM6R-?K&QA2:.C>MLT*>0=D:]4BF
MT%3FK4="^O=!E\C6[\K6]1QT*MMNF.]XYV3;6AFDMS*/>"'=+19$WO?51[-O
MIQ<N>%;3#W;UVOT?KW50ZZ'0P*!JC1HC4V@J\]88(?U+HTM4&_9LMCX<G*JV
M)PQ)'WQ&MJV!07H#,Z5R40HW<"+*MZG6Z!L@4VAJ4Z!U3JYCL"U@U!R90E.9
MM^;(U;]:ND"U-8+2&PC0<'BBVIZP@=>Q"/915RPE;%TV"SF(:)Z)JJO47&T:
MDA_+-MS)]7MX-ZW:BBU,U>6<8;:.Y<-:0E82TKD=R#\2JQJ'U8F@V[+WMJ!"
MT+0\W!"\)*P(D+^O*!6'DV* IGT[^1=02P,$%     @ X6.J5B+&U%DL!0
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
M/(!K W5_S9A\F>@-FD^9Z!]02P,$%     @ X6.J5NE^G'$0 P  ^P@  !D
M  !X;"]W;W)K<VAE971S+W-H965T-#(N>&ULK5;?;]HP$/Y7K*R:.JEK((%
M.XA4Z*;UH5-%U^UAVH-)+L2J8S/;@79__<X.9!323*WV OYQ]_G[[NR[C-92
MW>L<P)"'@@L]]G)CEN>^KY,<"JI/Y1($[F12%=3@5"U\O51 4^=4<#_H="*_
MH$QX\<BMW:AX)$O#F8 ;1719%%0]3H#+]=CK>MN%&5ODQB[X\6A)%W +YFYY
MHW#FUR@I*T!H)@51D(V]B^[Y=&CMG<$W!FN],R96R5S*>SNY2L=>QQ("#HFQ
M"!3_5C %SBT0TOBUP?3J(ZWC[GB+_LEI1RUSJF$J^7>6FGSL#3V20D9+;F9R
M_1DV>OH6+Y%<NU^RKFRC,X\DI3:RV#@C@X*)ZI\^;.*PXX XS0[!QB'8=^@]
MXQ!N'$(GM&+F9%U20^.1DFNBK#6BV8&+C?-&-4S8+-X:A;L,_4P\@Q6($LA[
M\H4J16U,R?$E&,JX?H>K=[>7Y/CH'3DB3)"ON2PU%:D>^0;/M@A^LCEG4IT3
M/'-.2*ZE,+DF'T4*Z5-_'SG7Q(,M\4G0"GA-U2D)NR<DZ 1A Y]IN_LE)+5[
MT$(GK.,8.KSP'W',E"S(%*4JO*"82Y.3J<LB*/+C8J[=^L^F^%7XO69\^YC/
M]9(F,/;PM6I0*_#BMV^Z4>=#D_C_!/8D%+TZ%+TV]+A63[4&TWA7*H#( =@Z
MLXK#;M 9C/S5KH@&JS#JAK75$W;]FEV_E=V$<BH20')$9@2O 11SS$WS5:C8
M5H#]71Y!+]PCVS\@&PV&W6:N4<TU>DDD"4Z$SD I2(F16$038"LZY] 8Y.B0
M=G06[=%N)?#*BS*HY0U:Y5V)!!N/!EM:YHSC]D+;,3PDH%UZ$JG-B9WS,L5=
M5%R],E0N%X+]WJ\DE?#!@?#NV7 _7ZW47BE\6 L?M@J?'<BHZD:RS3=G% /"
MS&.3O.'AL^@=7,=6 B^5Y^_T%RQD"]=V-=(MA:E:3;U:=_8+U]#\O^;59P&6
M[043FG#(T+5S.L TJ:K55A,CEZY;S:7!JNF&.7Z=@+(&N)]):;83>T#]O1/_
M 5!+ P04    " #A8ZI62(M+IX8#  !9"@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970T,RYX;6RUEFUOVS80@/\*H15#"Z31FR/;F2T@=C:L0%^"I%T_%/U
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
M3&\4[; C8IV=P#D[\;U;8T::3#UA=#KIFN_6VPF(MY.V;=,);CV5/%%3UO4
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
M02;;4==NM*C=>-D(;8:56Y;F[X#2&IC[7 C=;2Q!_[])_@!02P,$%     @
MX6.J5E8X *&% @  R@8  !D   !X;"]W;W)K<VAE971S+W-H965T-#DN>&UL
MK55=3]LP%/TK5H8FD 9IOEN61H)6"!XF(1CC8=J#F]PV%HZ=V6X#_WZVDT:E
M#=T>]I+XXY[C<VS?Z[3AXD66  J]5I3)J5,J55^ZKLQ+J+"\X#4P/;/DHL)*
M=\7*E;4 7%A015U_-(K="A/F9*D=NQ=9RM>*$@;W LEU56'Q=@V4-U/'<[8#
M#V15*C/@9FF-5_ (ZJF^%[KG]BP%J8!)PAD2L)PZ5][E+#;Q-N '@4;NM)%Q
MLN#\Q73NBJDS,H* 0JX, ]:_#<R 4D.D9?SN.)U^20/<;6_9;ZQW[66!)<PX
M?2:%*J?.V$$%+/&:J@?>W$+G)S)\.:?2?E'3QH:1@_*U5+SJP%I!15C[QZ_=
M/NP O/ #@-\!_'\%!!T@L$9;9=;6'"N<I8(W2)AHS68:=F\L6KLAS)SBHQ)Z
MEFB<RN[8!ICBX@V=SD%A0N49.D=/CW-T>G*&3A!AZ'O)UQ*S0J:NTBL:G)MW
M[-<MN_\!^S<L+E#@?4'^R \&X+/C\#GD/=Q_#W>US]ZLWYOU+5_P5[-S(G/*
MY5H ^GFUD$KHZ_1KR%]+& X3FA2[E#7.8>KH')(@-N!DGS]Y\>CKD-O_1/;.
M>]![#XZQ9S>$$7U-"K3B?/@H6WQL\2;Y-UF8)%&8NIM=#P-17AAX?=0[<6$O
M+CPJ[EFG^CEAY[7@.<A!=2U!M+/N>!SNBSL,FL238%A;U&N+CFI[P(U.. 6"
M8#JH+#I8U$\FDWA/VD!4&$V286UQKRT^JFU[H0E(G;4,U)"^^.#$QGKE_:T[
MC$JBQ-\_5W>GTI@JKQ-\19A$%)8:-[I(M$'15LZVHWAMB\^"*UW*;+/4CPT(
M$Z#GEYRK;<?4L_[YROX 4$L#!!0    ( .%CJE:Y=_JMX (  ,0'   9
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
M7]F6M;<^PY[>MN#?-.V#@!=OQ;@B)>1(Z8W.L):R;;+M1(O:]JFET-CU[+#
M=PFD"<#]7 B]G9@$_4N7_ )02P,$%     @ X6.J5N/U+BQ&!   *1<  !D
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
M2&)>*4H8W @DJZ+ XN<8*%^.G)ZS-MR2>:Z,P4WB$L]A"NJNO!%ZYC8H&2F
M2<(9$C ;.6>]TTED_*W#/8&EW!@CP^2!\T<SN<I&CF<* @JI,@A8OQ8P 4H-
MD"[CQPK3:5*:P,WQ&OW"<M=<'K"$":??2:;RD1,Y*(,9KJBZY<LOL.(S,'@I
MI](^T;+V#77&M)**%ZM@/2\(J]_X::7#1H#&:0_P5P'^;D#_A8!@%1!8HG5E
MEM8Y5CB)!5\B8;PUFAE8;6RT9D.8^8M3)?17HN-4<H&)0/>85H"N <M*@/Y%
M2J(/Z"L6 AN-T>$Y*$RH/-+6N^DY.CPX0@>(,/0MYY7$+).QJW0M!M%-5WG'
M=5[_A;P!NN9,Y1)]9AEDV_&NYM 0\==$QGXGX#46)RCH'2/?\X.6>B:O#_<[
MR@D:70.+%_Q1UV,TQA2S%-#4;LM+P:N2L/DQNB!,VPFF:*JPLL*C"2[-\FY5
MM,[8;\]HMONI+'$*(T?O9PEB 4[R_EUOZ'UJDV-/8%OB]!MQ^EWHR153H%$5
M@B=]&DEH(ULC#"V".8H622^(HMA=;))X[A2$7N.S5=N@J6W06=MTB<NV>CJC
MWBK^GL"V" X;@L/_OC*'^Q1G3V!;XH2-..'K5B9A*2]:%V;X;,WY_<'.NNQ,
M\I<4HH9"],^;JQ/AK?\K>B;(QW!G#[H;#:H ,;=]6Z*45TS51WQC;:X&9[8C
M[MC'^LI0=_C?,/5]0Q_@<\(DHC#3D-Y)J/>8J'MX/5&\M&WP@2O=5.TPU]<>
M$,9!?Y]QKM83DZ"Y2"6_ %!+ P04    " #A8ZI6HAQBW7 #  #[#0  &0
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
M=1)]@DAN!/^&5 5F'<SO.5.<)01#IY7GZ(0#'1[1;#$9M[,<5RS'G2QM0LQ
M<1GS"!^*<G;%1213N#Z[\^,3'C8M-:B>FM!VIG<5T[OO23J_<;&)9=K&JM/_
M1T_>A< :4FGO4,5ZE\X[)>*%Y%\*K:F_5L7I_\L]I7\]O@:#HQ!LL0D'[4%(
M@P.SX,+YIP1L))?Q\7%I-3IS8NBA3M/N0OV02F7X-^8Z3+DF&1YT['EQNW@$
M;FTUP1:'&(6M$B_ZT%3FHGW)^R<4C_-3ITE3PZ$"T\XB]^-YM,2KDSA9[5.3
M,#A#]% N:7>]_&^IE)Z6R!MZ=\SWU(@>\_5K37,*:N/N$AJ_B]M9=)K5;'5?
M>7!=^M'\W-YC7#-^@"DN0=A';CCVU FL$;)W.T):JKA7% ,C,]>:OTB#C;Y[
MW.)=#)0UP/=K*<U^8#]0W>YF_P)02P,$%     @ X6.J5KE!D] W P  SPT
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
MF5E,;;#2ZZ>8Z&DL01CI^D$$3A'CBL8$I5HM.N1U5;C>H)_=-:R4C35]7]E
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
MCMQC)8QQ8K3^-8+)#^Q^ %!+ P04    " #A8ZI6OL8Y3N8$   2*0  #P
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
MD56CR*I19"U09"U09"W^4]9G:Y=_'#\\\];4W2&?#7\RFKT!4$L! A0#%
M  @ X6.J5@=!36*!    L0   !               ( !     &1O8U!R;W!S
M+V%P<"YX;6Q02P$"% ,4    " #A8ZI6[=90-NX    K @  $0
M    @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " #A8ZI6F5R<
M(Q &  "<)P  $P              @ ', 0  >&PO=&AE;64O=&AE;64Q+GAM
M;%!+ 0(4 Q0    ( .%CJE;(HO8VR@4  (\?   8              " @0T(
M  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " #A8ZI6YICB
M3HX'  "P'P  &               @($-#@  >&PO=V]R:W-H965T<R]S:&5E
M=#(N>&UL4$L! A0#%     @ X6.J5DY/BZC; @  ,0@  !@
M ("!T14  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    ( .%C
MJE8^:PX_R 0  ) 2   8              " @>(8  !X;"]W;W)K<VAE971S
M+W-H965T-"YX;6Q02P$"% ,4    " #A8ZI6([@N1\D$  #A$   &
M        @('@'0  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%
M  @ X6.J5D&6!MK: @  <0<  !@              ("!WR(  'AL+W=O<FMS
M:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( .%CJE;")998I@<  ,0A   8
M              " @>\E  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"
M% ,4    " #A8ZI6J:]I"Q@'  #W,P  &               @('++0  >&PO
M=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ X6.J5H#)4U9Q @
M\@4  !@              ("!&34  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM
M;%!+ 0(4 Q0    ( .%CJE:<W.-Q900  !8*   9              " @< W
M  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ X6.J5G;(
M/Y%F!P  [1$  !D              ("!7#P  'AL+W=O<FMS:&5E=',O<VAE
M970Q,2YX;6Q02P$"% ,4    " #A8ZI6 UL\DN8(   5%P  &0
M    @('Y0P  >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    (
M .%CJE9'B[5?CP4  #8-   9              " @19-  !X;"]W;W)K<VAE
M971S+W-H965T,3,N>&UL4$L! A0#%     @ X6.J5C6+07+C P  GP@  !D
M             ("!W%(  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"
M% ,4    " #A8ZI6*OL1Y<0"   !!@  &0              @('V5@  >&PO
M=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( .%CJE8S]_!JP08
M &T0   9              " @?%9  !X;"]W;W)K<VAE971S+W-H965T,38N
M>&UL4$L! A0#%     @ X6.J5B!R$\$2 P  B <  !D              ("!
MZ6   'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " #A8ZI6
M01N8Z9$#   &"   &0              @($R9   >&PO=V]R:W-H965T<R]S
M:&5E=#$X+GAM;%!+ 0(4 Q0    ( .%CJE9@DSRJY@8  ',1   9
M      " @?IG  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#%
M  @ X6.J5AD$-ZTX!   %PH  !D              ("!%V\  'AL+W=O<FMS
M:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " #A8ZI6JXX^%Y@%  #7#@
M&0              @(&&<P  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+
M 0(4 Q0    ( .%CJE95SMY4?0P  )4?   9              " @55Y  !X
M;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ X6.J5NWK?8AJ
M!   #@H  !D              ("!"88  'AL+W=O<FMS:&5E=',O<VAE970R
M,RYX;6Q02P$"% ,4    " #A8ZI6<[54&DH$   %"P  &0
M@(&JB@  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( .%C
MJE;[M-DCB@4  *4.   9              " @2N/  !X;"]W;W)K<VAE971S
M+W-H965T,C4N>&UL4$L! A0#%     @ X6.J5NPDXA1&!   "PH  !D
M         ("![)0  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4
M    " #A8ZI6, TV5)\"  #B!0  &0              @(%IF0  >&PO=V]R
M:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( .%CJE82HJ_AJ0(  +L%
M   9              " @3^<  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL
M4$L! A0#%     @ X6.J5I,<K/JV @  R 4  !D              ("!'Y\
M 'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " #A8ZI6I&S9
MB=8"  #E!@  &0              @($,H@  >&PO=V]R:W-H965T<R]S:&5E
M=#,P+GAM;%!+ 0(4 Q0    ( .%CJE8]SW->0@,  .<&   9
M  " @1FE  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%     @
MX6.J5J*T3S*J @  :@8  !D              ("!DJ@  'AL+W=O<FMS:&5E
M=',O<VAE970S,BYX;6Q02P$"% ,4    " #A8ZI6(ZUP3LL#  !&#   &0
M            @(%SJP  >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4
M Q0    ( .%CJE;CJU>DG (  -(%   9              " @76O  !X;"]W
M;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ X6.J5@)7J?>_!
MC!L  !D              ("!2+(  'AL+W=O<FMS:&5E=',O<VAE970S-2YX
M;6Q02P$"% ,4    " #A8ZI66!*A/*D#  !B#0  &0              @($^
MMP  >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( .%CJE8N
MA[X ? ,  *D/   9              " @1Z[  !X;"]W;W)K<VAE971S+W-H
M965T,S<N>&UL4$L! A0#%     @ X6.J5@S8OH(1 P  @PP  !D
M     ("!T;X  'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4
M" #A8ZI6GF %T/ $  #*'0  &0              @($9P@  >&PO=V]R:W-H
M965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( .%CJE8BQM19+ 4  %XB   9
M              " @4#'  !X;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L!
M A0#%     @ X6.J5KHQ5]@J P  U@P  !D              ("!H\P  'AL
M+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    " #A8ZI6Z7Z<<1 #
M  #["   &0              @($$T   >&PO=V]R:W-H965T<R]S:&5E=#0R
M+GAM;%!+ 0(4 Q0    ( .%CJE9(BTNGA@,  %D*   9              "
M@4O3  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @ X6.J
M5L"-W_BJ @  E@<  !D              ("!"-<  'AL+W=O<FMS:&5E=',O
M<VAE970T-"YX;6Q02P$"% ,4    " #A8ZI6U,KC6G$#  !A#@  &0
M        @('IV0  >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0
M   ( .%CJE89M+7'?@8   TP   9              " @9'=  !X;"]W;W)K
M<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ X6.J5CN-MJW, @  X@@
M !D              ("!1N0  'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6Q0
M2P$"% ,4    " #A8ZI63K!VJ)H"  ![!@  &0              @(%)YP
M>&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( .%CJE96. "A
MA0(  ,H&   9              " @1KJ  !X;"]W;W)K<VAE971S+W-H965T
M-#DN>&UL4$L! A0#%     @ X6.J5KEW^JW@ @  Q <  !D
M ("!UNP  'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4    " #A
M8ZI6  D#2ND%  "<+@  &0              @('M[P  >&PO=V]R:W-H965T
M<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( .%CJE9CN"SGCP,  )\,   9
M          " @0WV  !X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L! A0#
M%     @ X6.J5G.2"9N@ @  ]08  !D              ("!T_D  'AL+W=O
M<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " #A8ZI6X_4N+$8$   I
M%P  &0              @(&J_   >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM
M;%!+ 0(4 Q0    ( .%CJE;NGPGB3P0  %<4   9              " @2<!
M 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%     @ X6.J5DS(
MEEX=!   'Q0  !D              ("!K04! 'AL+W=O<FMS:&5E=',O<VAE
M970U-BYX;6Q02P$"% ,4    " #A8ZI6]"N/)\H"  !4"0  &0
M    @($!"@$ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0    (
M .%CJE:B'&+=< ,  /L-   9              " @0(- 0!X;"]W;W)K<VAE
M971S+W-H965T-3@N>&UL4$L! A0#%     @ X6.J5O0$AYZU P  Z0T  !D
M             ("!J1 ! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q02P$"
M% ,4    " #A8ZI6N4&3T#<#  #/#0  &0              @(&5% $ >&PO
M=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( .%CJE9=2_]:5P8
M %4P   9              " @0,8 0!X;"]W;W)K<VAE971S+W-H965T-C$N
M>&UL4$L! A0#%     @ X6.J5E?%T>9I @  N 4  !D              ("!
MD1X! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4    " #A8ZI6
M1/B%SBP#  #*$@  #0              @ $Q(0$ >&PO<W1Y;&5S+GAM;%!+
M 0(4 Q0    ( .%CJE:7BKL<P    !,"   +              "  8@D 0!?
M<F5L<R\N<F5L<U!+ 0(4 Q0    ( .%CJE:^QCE.Y@0  !(I   /
M      "  7$E 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " #A8ZI6=TMQ
MA08"  #Q)   &@              @ &$*@$ >&PO7W)E;',O=V]R:V)O;VLN
M>&UL+G)E;'-02P$"% ,4    " #A8ZI6_R>G=>,!  !L)   $P
M    @ '"+ $ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     1@!& "$3  #6
%+@$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<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>79
<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>80
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>181</ContextCount>
  <ElementCount>248</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>56</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="fstr-20230331.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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0000002 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>0000003 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>0000004 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>0000005 - Statement - Condensed Consolidated Statements of Comprehensive Loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss</Role>
      <ShortName>Condensed Consolidated Statements of Comprehensive Loss</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>0000006 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLossParenthetical</Role>
      <ShortName>Condensed Consolidated Statements of Comprehensive Loss (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>0000007 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>0000008 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>0000009 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>0000010 - Disclosure - Financial Statements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/FinancialStatements</Role>
      <ShortName>Financial Statements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>0000011 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>0000012 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>0000013 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>0000014 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>0000015 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>0000016 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>0000017 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>0000018 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>0000019 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>0000020 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>0000021 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>0000022 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>0000023 - Disclosure - Financial Statements (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/FinancialStatementsPolicies</Role>
      <ShortName>Financial Statements (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>0000024 - 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>24</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>0000025 - 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>25</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>0000026 - 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>26</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>0000027 - 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>27</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>0000028 - 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>28</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>0000029 - 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>29</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>0000030 - 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>30</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>0000031 - 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>31</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>0000032 - 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>32</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>0000033 - 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>33</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>0000034 - Disclosure - Commitments and Contingent Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesTables</Role>
      <ShortName>Commitments and Contingent Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.lbfoster.com/role/CommitmentsandContingentLiabilities</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>0000035 - Disclosure - Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails</Role>
      <ShortName>Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>0000036 - Disclosure - Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails</Role>
      <ShortName>Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>0000037 - Disclosure - Business Segments - Reconciliation of Assets from Segment to Consolidated (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails</Role>
      <ShortName>Business Segments - Reconciliation of Assets from Segment to Consolidated (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>0000038 - 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>38</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>0000039 - Disclosure - Revenue - Sales by Major Product Line (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails</Role>
      <ShortName>Revenue - Sales by Major Product Line (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>0000040 - Disclosure - Revenue - Timing of Transfer (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueTimingofTransferDetails</Role>
      <ShortName>Revenue - Timing of Transfer (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>0000041 - Disclosure - Revenue - Over Time Sales (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueOverTimeSalesDetails</Role>
      <ShortName>Revenue - Over Time Sales (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>0000042 - 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>42</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>0000043 - Disclosure - Revenue - Contract with Customer (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/RevenueContractwithCustomerDetails</Role>
      <ShortName>Revenue - Contract with Customer (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>0000044 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>0000045 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>0000046 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>0000047 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>0000048 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>0000049 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>0000050 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>0000051 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>0000052 - Disclosure - Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails</Role>
      <ShortName>Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>0000053 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>0000054 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>0000055 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>0000056 - 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>56</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>0000057 - 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>57</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>0000058 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>0000059 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>0000060 - 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-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>0000061 - Disclosure - Commitments and Contingent Liabilities - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails</Role>
      <ShortName>Commitments and Contingent Liabilities - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="fstr-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>0000062 - Disclosure - Commitments and Contingent Liabilities - Future Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails</Role>
      <ShortName>Commitments and Contingent Liabilities - Future Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 1 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 -  fstr-20230331.htm 4</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" original="fstr-20230331.htm">fstr-20230331.htm</File>
    <File>ex-101q12023.htm</File>
    <File>ex-102q12023.htm</File>
    <File>ex-103q12023.htm</File>
    <File>ex-311q12023.htm</File>
    <File>ex-312q12023.htm</File>
    <File>ex-320q12023.htm</File>
    <File>fstr-20230331.xsd</File>
    <File>fstr-20230331_cal.xml</File>
    <File>fstr-20230331_def.xml</File>
    <File>fstr-20230331_lab.xml</File>
    <File>fstr-20230331_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>fstr-20230331_g1.gif</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="583">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>83
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "fstr-20230331.htm": {
   "axisCustom": 0,
   "axisStandard": 22,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2022": 583,
    "http://xbrl.sec.gov/dei/2022": 30
   },
   "contextCount": 181,
   "dts": {
    "calculationLink": {
     "local": [
      "fstr-20230331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "fstr-20230331_def.xml"
     ]
    },
    "inline": {
     "local": [
      "fstr-20230331.htm"
     ]
    },
    "labelLink": {
     "local": [
      "fstr-20230331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fstr-20230331_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "fstr-20230331.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://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 420,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 1,
    "http://xbrl.sec.gov/dei/2022": 5,
    "total": 6
   },
   "keyCustom": 37,
   "keyStandard": 211,
   "memberCustom": 18,
   "memberStandard": 38,
   "nsprefix": "fstr",
   "nsuri": "http://www.lbfoster.com/20230331",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0000001 - Document - Cover",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.lbfoster.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000010 - Disclosure - Financial Statements",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.lbfoster.com/role/FinancialStatements",
     "shortName": "Financial Statements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000011 - Disclosure - Business Segments",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.lbfoster.com/role/BusinessSegments",
     "shortName": "Business Segments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000012 - Disclosure - Revenue",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.lbfoster.com/role/Revenue",
     "shortName": "Revenue",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000013 - Disclosure - Goodwill and Other Intangible Assets",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets",
     "shortName": "Goodwill and Other Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000014 - Disclosure - Accounts Receivable",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.lbfoster.com/role/AccountsReceivable",
     "shortName": "Accounts Receivable",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000015 - Disclosure - Inventory",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.lbfoster.com/role/Inventory",
     "shortName": "Inventory",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000016 - Disclosure - Long-term Debt and Related Matters",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.lbfoster.com/role/LongtermDebtandRelatedMatters",
     "shortName": "Long-term Debt and Related Matters",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000017 - Disclosure - Earnings Per Common Share",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://www.lbfoster.com/role/EarningsPerCommonShare",
     "shortName": "Earnings Per Common Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000018 - Disclosure - Income Taxes",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://www.lbfoster.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000019 - Disclosure - Stock-Based Compensation",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://www.lbfoster.com/role/StockBasedCompensation",
     "shortName": "Stock-Based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets",
     "shortName": "Condensed Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000020 - Disclosure - Fair Value Measurements",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://www.lbfoster.com/role/FairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000021 - Disclosure - Retirement Plans",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://www.lbfoster.com/role/RetirementPlans",
     "shortName": "Retirement Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000022 - Disclosure - Commitments and Contingent Liabilities",
     "menuCat": "Notes",
     "order": "22",
     "role": "http://www.lbfoster.com/role/CommitmentsandContingentLiabilities",
     "shortName": "Commitments and Contingent Liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000023 - Disclosure - Financial Statements (Policies)",
     "menuCat": "Policies",
     "order": "23",
     "role": "http://www.lbfoster.com/role/FinancialStatementsPolicies",
     "shortName": "Financial Statements (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000024 - Disclosure - Business Segments (Tables)",
     "menuCat": "Tables",
     "order": "24",
     "role": "http://www.lbfoster.com/role/BusinessSegmentsTables",
     "shortName": "Business Segments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000025 - Disclosure - Revenue (Tables)",
     "menuCat": "Tables",
     "order": "25",
     "role": "http://www.lbfoster.com/role/RevenueTables",
     "shortName": "Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000026 - Disclosure - Goodwill and Other Intangible Assets (Tables)",
     "menuCat": "Tables",
     "order": "26",
     "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables",
     "shortName": "Goodwill and Other Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000027 - Disclosure - Accounts Receivable (Tables)",
     "menuCat": "Tables",
     "order": "27",
     "role": "http://www.lbfoster.com/role/AccountsReceivableTables",
     "shortName": "Accounts Receivable (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000028 - Disclosure - Inventory (Tables)",
     "menuCat": "Tables",
     "order": "28",
     "role": "http://www.lbfoster.com/role/InventoryTables",
     "shortName": "Inventory (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000029 - Disclosure - Long-term Debt and Related Matters (Tables)",
     "menuCat": "Tables",
     "order": "29",
     "role": "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersTables",
     "shortName": "Long-term Debt and Related Matters (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
     "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000030 - Disclosure - Earnings Per Common Share (Tables)",
     "menuCat": "Tables",
     "order": "30",
     "role": "http://www.lbfoster.com/role/EarningsPerCommonShareTables",
     "shortName": "Earnings Per Common Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000031 - Disclosure - Stock-Based Compensation (Tables)",
     "menuCat": "Tables",
     "order": "31",
     "role": "http://www.lbfoster.com/role/StockBasedCompensationTables",
     "shortName": "Stock-Based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000032 - Disclosure - Fair Value Measurements (Tables)",
     "menuCat": "Tables",
     "order": "32",
     "role": "http://www.lbfoster.com/role/FairValueMeasurementsTables",
     "shortName": "Fair Value Measurements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000033 - Disclosure - Retirement Plans (Tables)",
     "menuCat": "Tables",
     "order": "33",
     "role": "http://www.lbfoster.com/role/RetirementPlansTables",
     "shortName": "Retirement Plans (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000034 - Disclosure - Commitments and Contingent Liabilities (Tables)",
     "menuCat": "Tables",
     "order": "34",
     "role": "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesTables",
     "shortName": "Commitments and Contingent Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000035 - Disclosure - Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details)",
     "menuCat": "Details",
     "order": "35",
     "role": "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails",
     "shortName": "Business Segments - Reconciliation of Revenue from Segments to Consolidated (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000036 - Disclosure - Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details)",
     "menuCat": "Details",
     "order": "36",
     "role": "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails",
     "shortName": "Business Segments - Reconciliation of Operating Profit (Loss) from Segments to Consolidated (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:InterestIncomeExpenseNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Assets",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000037 - Disclosure - Business Segments - Reconciliation of Assets from Segment to Consolidated (Details)",
     "menuCat": "Details",
     "order": "37",
     "role": "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
     "shortName": "Business Segments - Reconciliation of Assets from Segment to Consolidated (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "iad9aa66948aa427d8733b61886370a14_I20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:Assets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProceedsFromDivestitureOfBusinesses",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000038 - Disclosure - Business Segments - Narrative (Details)",
     "menuCat": "Details",
     "order": "38",
     "role": "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
     "shortName": "Business Segments - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ProceedsFromDivestitureOfBusinesses",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000039 - Disclosure - Revenue - Sales by Major Product Line (Details)",
     "menuCat": "Details",
     "order": "39",
     "role": "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
     "shortName": "Revenue - Sales by Major Product Line (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ib94c3af616a84d688d59809b47cda372_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
     "shortName": "Condensed Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000040 - Disclosure - Revenue - Timing of Transfer (Details)",
     "menuCat": "Details",
     "order": "40",
     "role": "http://www.lbfoster.com/role/RevenueTimingofTransferDetails",
     "shortName": "Revenue - Timing of Transfer (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ia76ad66a0e9b4464be835910057fe869_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "fstr:OverTimeSalesAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000041 - Disclosure - Revenue - Over Time Sales (Details)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails",
     "shortName": "Revenue - Over Time Sales (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "fstr:OverTimeSalesAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000042 - Disclosure - Revenue - Narrative (Details)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://www.lbfoster.com/role/RevenueNarrativeDetails",
     "shortName": "Revenue - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ie1c2cdd5771541dfa97546b5614c9de8_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000043 - Disclosure - Revenue - Contract with Customer (Details)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails",
     "shortName": "Revenue - Contract with Customer (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "fstr:ContractWithCustomerAssetAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000044 - Disclosure - Revenue - Remaining Performance Obligation (Details)",
     "menuCat": "Details",
     "order": "44",
     "role": "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails",
     "shortName": "Revenue - Remaining Performance Obligation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ie1c2cdd5771541dfa97546b5614c9de8_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000045 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)",
     "menuCat": "Details",
     "order": "45",
     "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
     "shortName": "Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000046 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails",
     "shortName": "Goodwill and Other Intangible Assets - Schedule of Intangible Asset (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000047 - Disclosure - Accounts Receivable - Narrative (Details)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails",
     "shortName": "Accounts Receivable - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "if2b81add6d61480eb72836ee31510df6_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ie1c2cdd5771541dfa97546b5614c9de8_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000048 - Disclosure - Accounts Receivable - Allowance for Credit Losses (Details)",
     "menuCat": "Details",
     "order": "48",
     "role": "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails",
     "shortName": "Accounts Receivable - Allowance for Credit Losses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ie1c2cdd5771541dfa97546b5614c9de8_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000049 - Disclosure - Inventory (Details)",
     "menuCat": "Details",
     "order": "49",
     "role": "http://www.lbfoster.com/role/InventoryDetails",
     "shortName": "Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000005 - Statement - Condensed Consolidated Statements of Comprehensive Loss",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss",
     "shortName": "Condensed Consolidated Statements of Comprehensive Loss",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LineOfCredit",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000050 - Disclosure - Long-term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details)",
     "menuCat": "Details",
     "order": "50",
     "role": "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails",
     "shortName": "Long-term Debt and Related Matters - Schedule of Long-term Debt Instruments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:FinanceLeaseLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id0a992b75b7e481f8bd6f04e94c9df5f_I20220812",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "fstr:DebtInstrumentCovenantLeverageRatioMaximum",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000051 - Disclosure - Long-term Debt and Related Matters - Narrative (Details)",
     "menuCat": "Details",
     "order": "51",
     "role": "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails",
     "shortName": "Long-term Debt and Related Matters - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id0a992b75b7e481f8bd6f04e94c9df5f_I20220812",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "fstr:DebtInstrumentCovenantLeverageRatioMaximum",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000052 - Disclosure - Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "menuCat": "Details",
     "order": "52",
     "role": "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails",
     "shortName": "Earning Per Common Share - Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000053 - Disclosure - Income Taxes (Details)",
     "menuCat": "Details",
     "order": "53",
     "role": "http://www.lbfoster.com/role/IncomeTaxesDetails",
     "shortName": "Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "3",
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000054 - Disclosure - Stock-Based Compensation - Narrative (Details)",
     "menuCat": "Details",
     "order": "54",
     "role": "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
     "shortName": "Stock-Based Compensation - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ie1c2cdd5771541dfa97546b5614c9de8_I20221231",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000055 - Disclosure - Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)",
     "menuCat": "Details",
     "order": "55",
     "role": "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails",
     "shortName": "Stock-Based Compensation - Restricted Stock and Performance Share Units (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ie1c2cdd5771541dfa97546b5614c9de8_I20221231",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000056 - Disclosure - Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details)",
     "menuCat": "Details",
     "order": "56",
     "role": "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails",
     "shortName": "Fair Value Measurements - Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "id6663316f78349588622c6997f0c313e_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestExpense",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000057 - Disclosure - Fair Value Measurements - Narrative (Details)",
     "menuCat": "Details",
     "order": "57",
     "role": "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails",
     "shortName": "Fair Value Measurements - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ia5ebb139ce8e4e77b16ffb1cf78f6195_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "fstr:InterestIncome",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "if37f45c29c0947b7be845886c8bee4ec_D20230101-20230331",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "fstr:NumberOfDefinedContributionPlans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "plan",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000058 - Disclosure - Retirement Plans - Narrative (Details)",
     "menuCat": "Details",
     "order": "58",
     "role": "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
     "shortName": "Retirement Plans - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "if37f45c29c0947b7be845886c8bee4ec_D20230101-20230331",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "fstr:NumberOfDefinedContributionPlans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "plan",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DefinedBenefitPlanInterestCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000059 - Disclosure - Retirement Plans - Schedule Of Net Benefit Costs (Details)",
     "menuCat": "Details",
     "order": "59",
     "role": "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
     "shortName": "Retirement Plans - Schedule Of Net Benefit Costs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DefinedBenefitPlanInterestCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000006 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Parenthetical)",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLossParenthetical",
     "shortName": "Condensed Consolidated Statements of Comprehensive Loss (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DefinedContributionPlanCostRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000060 - Disclosure - Retirement Plans - Schedule of Costs of Retirement Plans (Details)",
     "menuCat": "Details",
     "order": "60",
     "role": "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
     "shortName": "Retirement Plans - Schedule of Costs of Retirement Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DefinedContributionPlanCostRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LitigationSettlementAmountAwardedToOtherParty",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000061 - Disclosure - Commitments and Contingent Liabilities - Narrative (Details)",
     "menuCat": "Details",
     "order": "61",
     "role": "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails",
     "shortName": "Commitments and Contingent Liabilities - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "if9631e06a9af44149a25f259886981f3_I20170605",
      "decimals": "-1",
      "lang": "en-US",
      "name": "fstr:NumberOfCompaniesReceivingGeneralNoticeLetter",
      "reportCount": 1,
      "unique": true,
      "unitRef": "company",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000062 - Disclosure - Commitments and Contingent Liabilities - Future Payments (Details)",
     "menuCat": "Details",
     "order": "62",
     "role": "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails",
     "shortName": "Commitments and Contingent Liabilities - Future Payments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000007 - Statement - Condensed Consolidated Statements of Cash Flows",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows",
     "shortName": "Condensed Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:DeferredIncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ia194bc89639f47f087d63938eb52302b_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000008 - Statement - Condensed Consolidated Statements of Stockholders' Equity",
     "menuCat": "Statements",
     "order": "8",
     "role": "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "ia194bc89639f47f087d63938eb52302b_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000009 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Parenthetical)",
     "menuCat": "Statements",
     "order": "9",
     "role": "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquityParenthetical",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "fstr-20230331.htm",
      "contextRef": "i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 56,
   "tag": {
    "country_CA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA",
        "terseLabel": "Canada"
       }
      }
     },
     "localname": "CA",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_GB": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED KINGDOM",
        "terseLabel": "United Kingdom"
       }
      }
     },
     "localname": "GB",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r595"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report",
        "terseLabel": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r596"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Street Name"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two",
        "terseLabel": "Entity Address, Suite"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding (in shares)"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]",
        "terseLabel": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity File Number",
        "terseLabel": "Commission File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r597"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]",
        "terseLabel": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r592"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r594"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "fstr_AccruedLegalSettlementCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Legal Settlement Current",
        "label": "Accrued Legal Settlement Current",
        "terseLabel": "Current portion of accrued settlement (Note 13)"
       }
      }
     },
     "localname": "AccruedLegalSettlementCurrent",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_AccruedLegalSettlementNonCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Legal Settlement Non Current",
        "label": "Accrued Legal Settlement Non Current",
        "terseLabel": "Long-term portion of accrued settlement (Note 13)"
       }
      }
     },
     "localname": "AccruedLegalSettlementNonCurrent",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_ChemtecEnergyServicesLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Chemtec Energy Services LLC",
        "label": "Chemtec Energy Services LLC [Member]",
        "terseLabel": "Chemtec Energy Services LLC"
       }
      }
     },
     "localname": "ChemtecEnergyServicesLLCMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_CoatingsAndMeasurementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Coatings and Measurement",
        "label": "Coatings and Measurement [Member]",
        "terseLabel": "Coatings and Measurement"
       }
      }
     },
     "localname": "CoatingsAndMeasurementMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_ContractWithCustomerAssetAdditions": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer Asset Additions",
        "label": "Contract With Customer Asset Additions",
        "terseLabel": "Net additions to contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAdditions",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer Asset After Allowance For Credit Loss Current",
        "label": "Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]",
        "terseLabel": "Contract With Customer Asset After Allowance For Credit Loss Current [Roll Forward]"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAfterAllowanceForCreditLossCurrentRollForward",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fstr_ContractWithCustomerLiabilityIncreaseFromCashReceipts": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with Customer, Liability, Increase from Cash Receipts",
        "label": "Contract with Customer, Liability, Increase from Cash Receipts",
        "terseLabel": "Increase in billings in excess of cost, excluding revenue recognized"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityIncreaseFromCashReceipts",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails",
      "http://www.lbfoster.com/role/RevenueNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_ContractWithCustomerLiabilityOtherAdjustments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer, Liability, Other Adjustments",
        "label": "Contract With Customer, Liability, Other Adjustments",
        "negatedTerseLabel": "Other adjustments, including business divestiture"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityOtherAdjustments",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_ContractWithCustomerLiabilityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer Liability",
        "label": "Contract With Customer Liability [Roll Forward]",
        "terseLabel": "Contract With Customer Liability [Roll Forward]"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRollForward",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fstr_CorporateExpenseAndOtherUnallocatedCharges": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Corporate Expense And Other Unallocated Charges",
        "label": "Corporate Expense And Other Unallocated Charges",
        "negatedLabel": "Unallocated corporate expenses and other unallocated charges"
       }
      }
     },
     "localname": "CorporateExpenseAndOtherUnallocatedCharges",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_DebtInstrumentCovenantInterestCoverageRatioMinimum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Covenant, Interest Coverage Ratio, Minimum",
        "label": "Debt Instrument, Covenant, Interest Coverage Ratio, Minimum",
        "terseLabel": "Minimum fixed charge coverage ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantInterestCoverageRatioMinimum",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fstr_DebtInstrumentCovenantLeverageRatioMaximum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Covenant, Leverage Ratio, Maximum",
        "label": "Debt Instrument, Covenant, Leverage Ratio, Maximum",
        "terseLabel": "Minimum leverage ratio"
       }
      }
     },
     "localname": "DebtInstrumentCovenantLeverageRatioMaximum",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fstr_DebtInstrumentNumberOfFinancialCovenants": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Number Of Financial Covenants",
        "label": "Debt Instrument, Number Of Financial Covenants",
        "terseLabel": "Number of financial covenants"
       }
      }
     },
     "localname": "DebtInstrumentNumberOfFinancialCovenants",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fstr_DeferredStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Stock Units",
        "label": "Deferred Stock Units [Member]",
        "terseLabel": "Deferred Stock Units"
       }
      }
     },
     "localname": "DeferredStockUnitsMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_DefinedBenefitPlanNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "DefinedBenefitPlanNumber",
        "verboseLabel": "Number of defined benefit plans"
       }
      }
     },
     "localname": "DefinedBenefitPlanNumber",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fstr_DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag",
        "label": "Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag",
        "terseLabel": "Derivative Asset Statement Of Financial Position Extensible Enumeration Not Disclosed Flag"
       }
      }
     },
     "localname": "DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fstr_EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag",
        "label": "Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag",
        "terseLabel": "Environmental Loss Contingency Statement Of Financial Position Extensible Enumeration Not Disclosed Flag"
       }
      }
     },
     "localname": "EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fstr_EquityLossIncomeAndRemeasurementGain": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity Loss Income and Remeasurement Gain",
        "label": "Equity Loss Income and Remeasurement Gain",
        "terseLabel": "Equity in income of nonconsolidated investments"
       }
      }
     },
     "localname": "EquityLossIncomeAndRemeasurementGain",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_FabricatedSteelProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fabricated Steel Products",
        "label": "Fabricated Steel Products [Member]",
        "terseLabel": "Fabricated Steel Products"
       }
      }
     },
     "localname": "FabricatedSteelProductsMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_FourthAmendedAndRestatedCreditAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fourth Amended And Restated Credit Agreement",
        "label": "Fourth Amended And Restated Credit Agreement [Member]",
        "terseLabel": "Fourth Amended And Restated Credit Agreement"
       }
      }
     },
     "localname": "FourthAmendedAndRestatedCreditAgreementMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_InterestIncome": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest Income",
        "label": "Interest Income",
        "terseLabel": "Interest income"
       }
      }
     },
     "localname": "InterestIncome",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_LineOfCreditAccordionFeatureLowerBorrowingCapacityOption": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit, Accordion Feature, Lower Borrowing Capacity Option",
        "label": "Line of Credit, Accordion Feature, Lower Borrowing Capacity Option",
        "terseLabel": "Line of credit, accordion feature, lower borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditAccordionFeatureLowerBorrowingCapacityOption",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_LineOfCreditFacilityMaximumIncreaseInCommitments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line Of Credit Facility, Maximum Increase In Commitments",
        "label": "Line Of Credit Facility, Maximum Increase In Commitments",
        "terseLabel": "Line of credit facility, maximum increase in commitments"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumIncreaseInCommitments",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_LitigationSettlementAmountAwardedToOtherPartyCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Litigation Settlement, Amount Awarded to Other Party, Current",
        "label": "Litigation Settlement, Amount Awarded to Other Party, Current",
        "terseLabel": "Litigation settlement amount, current"
       }
      }
     },
     "localname": "LitigationSettlementAmountAwardedToOtherPartyCurrent",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_LitigationSettlementAmountAwardedToOtherPartyNonCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Litigation Settlement, Amount Awarded to Other Party, Non-Current",
        "label": "Litigation Settlement, Amount Awarded to Other Party, Non-Current",
        "terseLabel": "Litigation settlement amount, non-current"
       }
      }
     },
     "localname": "LitigationSettlementAmountAwardedToOtherPartyNonCurrent",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LitigationSettlementAmountAwardedToOtherParty",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Litigation Settlement Amount Awarded To Other Party Scheduled Payment Remainder Of Year",
        "label": "Litigation Settlement Amount Awarded To Other Party Scheduled Payment Remainder Of Year",
        "terseLabel": "Remainder of 2023"
       }
      }
     },
     "localname": "LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LitigationSettlementAmountAwardedToOtherParty",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Litigation Settlement, Amount Awarded to Other Party, Scheduled Payment Year One",
        "label": "Litigation Settlement, Amount Awarded to Other Party, Scheduled Payment Year One",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_LitigationSettlementInstallmentPaymentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Litigation Settlement Installment Payment Term",
        "label": "Litigation Settlement Installment Payment Term",
        "terseLabel": "Payment period"
       }
      }
     },
     "localname": "LitigationSettlementInstallmentPaymentTerm",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fstr_LongtermPurchaseCommitmentAnnualCommitmentAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term Purchase Commitment, Annual Commitment Amount",
        "label": "Long-term Purchase Commitment, Annual Commitment Amount",
        "terseLabel": "Annual commitment amount"
       }
      }
     },
     "localname": "LongtermPurchaseCommitmentAnnualCommitmentAmount",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_NumberOfCompaniesReceivingGeneralNoticeLetter": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number Of Companies Receiving General Notice Letter",
        "label": "Number Of Companies Receiving General Notice Letter",
        "terseLabel": "Number of companies that received a general notice letter (company)"
       }
      }
     },
     "localname": "NumberOfCompaniesReceivingGeneralNoticeLetter",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fstr_NumberOfDefinedContributionPlans": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of Defined Contribution Plans",
        "label": "Number of Defined Contribution Plans",
        "verboseLabel": "Defined contribution plan number"
       }
      }
     },
     "localname": "NumberOfDefinedContributionPlans",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fstr_NumberOfPartiesRequiredToPerformRemedialWork": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of Parties Required to Perform Remedial Work",
        "label": "Number of Parties Required to Perform Remedial Work",
        "terseLabel": "Number of parties required to perform remedial design work"
       }
      }
     },
     "localname": "NumberOfPartiesRequiredToPerformRemedialWork",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fstr_NumberOfPotentiallyResponsiblePartiesIncludedInAgreement": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of Potentially Responsible Parties Included in Agreement",
        "label": "Number of Potentially Responsible Parties Included in Agreement",
        "terseLabel": "Number of potentially responsible parties included in agreement"
       }
      }
     },
     "localname": "NumberOfPotentiallyResponsiblePartiesIncludedInAgreement",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "fstr_NumberOfRetirementPlans": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "NumberOfRetirementPlans",
        "verboseLabel": "Number of retirement plans"
       }
      }
     },
     "localname": "NumberOfRetirementPlans",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "xbrltype": "decimalItemType"
    },
    "fstr_OtherPrecastConcreteProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other Precast Concrete Products",
        "label": "Other Precast Concrete Products [Member]",
        "terseLabel": "Other Precast Concrete Products"
       }
      }
     },
     "localname": "OtherPrecastConcreteProductsMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_OverTimeInputMethodMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Over Time Input Method",
        "label": "Over Time Input Method [Member]",
        "terseLabel": "Over time input method"
       }
      }
     },
     "localname": "OverTimeInputMethodMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_OverTimeOutputMethodMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Over Time Output Method",
        "label": "Over Time Output Method [Member]",
        "terseLabel": "Over time output method"
       }
      }
     },
     "localname": "OverTimeOutputMethodMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_OverTimeSalesAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Over Time Sales, Amount",
        "label": "Over Time Sales, Amount",
        "terseLabel": "Over time sales, amount"
       }
      }
     },
     "localname": "OverTimeSalesAmount",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_OverTimeSalesPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Over Time Sales, Percent",
        "label": "Over Time Sales, Percent",
        "terseLabel": "Over time sales, percentage"
       }
      }
     },
     "localname": "OverTimeSalesPercent",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "fstr_PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "label": "PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association [Member]",
        "terseLabel": "PNC Bank N.A. Citizens Bank N.A. Wells Fargo Bank National Association Bank of America N.A. And BMO Harris Bank National Association"
       }
      }
     },
     "localname": "PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_PrecastConcreteBuildingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Precast Concrete Buildings",
        "label": "Precast Concrete Buildings [Member]",
        "terseLabel": "Precast Concrete Buildings"
       }
      }
     },
     "localname": "PrecastConcreteBuildingsMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_PrecastConcreteProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Precast Concrete Products",
        "label": "Precast Concrete Products [Member]",
        "terseLabel": "Precast Concrete Products"
       }
      }
     },
     "localname": "PrecastConcreteProductsMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_PresentValueOfProposedRemedialWork": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present Value of Proposed Remedial Work",
        "label": "Present Value of Proposed Remedial Work",
        "terseLabel": "Present value of remedial work"
       }
      }
     },
     "localname": "PresentValueOfProposedRemedialWork",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_PriorCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prior Credit Facility",
        "label": "Prior Credit Facility [Member]",
        "terseLabel": "Prior Credit Facility"
       }
      }
     },
     "localname": "PriorCreditFacilityMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_RailProductsAndFrictionManagementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rail Products And Friction Management",
        "label": "Rail Products And Friction Management [Member]",
        "terseLabel": "Rail Products and Global Friction Management"
       }
      }
     },
     "localname": "RailProductsAndFrictionManagementMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_RailTechnologiesAndServicesSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rail Technologies and Services Segment",
        "label": "Rail Technologies and Services Segment [Member]",
        "terseLabel": "Rail, Technologies, and Services"
       }
      }
     },
     "localname": "RailTechnologiesAndServicesSegmentMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_RailTechnologiesProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rail Technologies Products",
        "label": "Rail Technologies Products [Member]",
        "terseLabel": "Technology Services and Solutions"
       }
      }
     },
     "localname": "RailTechnologiesProductsMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_RemedialWorkAnticipatedCleanUpPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remedial Work Anticipated Clean Up Period",
        "label": "Remedial Work Anticipated Clean Up Period",
        "terseLabel": "Anticipated clean period"
       }
      }
     },
     "localname": "RemedialWorkAnticipatedCleanUpPeriod",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fstr_ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Future Payments Of Legal Settlements",
        "label": "Schedule Of Future Payments Of Legal Settlements [Table Text Block]",
        "terseLabel": "Schedule Of Future Payments Of Legal Settlements"
       }
      }
     },
     "localname": "ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fstr_ScheduleOfRevenuesByMajorProductLineTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure summarizing sales by major product line.",
        "label": "Schedule of Revenues by Major Product Line [Table Text Block]",
        "terseLabel": "Schedule of Revenues by Major Product Line"
       }
      }
     },
     "localname": "ScheduleOfRevenuesByMajorProductLineTableTextBlock",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Deferred Receipt Period",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Deferred Receipt Period",
        "terseLabel": "Deferred receipt period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest",
        "verboseLabel": "Adjustment for incentive awards expected to vest (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "fstr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Adjustment For Incentive Awards Expected To Vest Weighted Average Grant Date Fair Value",
        "terseLabel": "Adjustment for incentive awards expected to vest (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "fstr_SteelProductsAndMeasurementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Steel Products And Measurement",
        "label": "Steel Products And Measurement [Member]",
        "terseLabel": "Steel Products and Measurement"
       }
      }
     },
     "localname": "SteelProductsAndMeasurementMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_UPRRMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The UPRR",
        "label": "UPRR [Member]",
        "terseLabel": "UPRR"
       }
      }
     },
     "localname": "UPRRMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fstr_UndiscoveredRemedialWork": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Undiscovered Remedial Work",
        "label": "Undiscovered Remedial Work",
        "terseLabel": "Undiscovered remedial work"
       }
      }
     },
     "localname": "UndiscoveredRemedialWork",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fstr_UprrMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UprrMember",
        "terseLabel": "UPRR"
       }
      }
     },
     "localname": "UprrMember",
     "nsuri": "http://www.lbfoster.com/20230331",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r196",
      "r227",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r245",
      "r249",
      "r294",
      "r295",
      "r296",
      "r297",
      "r299",
      "r300",
      "r302",
      "r304",
      "r305",
      "r638",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]",
        "terseLabel": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r196",
      "r227",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r245",
      "r249",
      "r294",
      "r295",
      "r296",
      "r297",
      "r299",
      "r300",
      "r302",
      "r304",
      "r305",
      "r638",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]",
        "terseLabel": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_DirectorMember": {
     "auth_ref": [
      "r614"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Director [Member]",
        "terseLabel": "Director"
       }
      }
     },
     "localname": "DirectorMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r254",
      "r570",
      "r643",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r289",
      "r290",
      "r292",
      "r293",
      "r428",
      "r521",
      "r539",
      "r547",
      "r548",
      "r566",
      "r585",
      "r591",
      "r640",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r254",
      "r570",
      "r643",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r251",
      "r523",
      "r568",
      "r590",
      "r635",
      "r636",
      "r643",
      "r687"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Products and Services [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r251",
      "r523",
      "r568",
      "r590",
      "r635",
      "r636",
      "r643",
      "r687"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Products and Services [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r289",
      "r290",
      "r292",
      "r293",
      "r376",
      "r428",
      "r457",
      "r458",
      "r459",
      "r520",
      "r521",
      "r539",
      "r547",
      "r548",
      "r566",
      "r585",
      "r591",
      "r631",
      "r640",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r289",
      "r290",
      "r292",
      "r293",
      "r376",
      "r428",
      "r457",
      "r458",
      "r459",
      "r520",
      "r521",
      "r539",
      "r547",
      "r548",
      "r566",
      "r585",
      "r591",
      "r631",
      "r640",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r614",
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]",
        "terseLabel": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]",
        "terseLabel": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_WeightedAverageMember": {
     "auth_ref": [
      "r547",
      "r548",
      "r681",
      "r683",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average [Member]",
        "terseLabel": "Weighted Average"
       }
      }
     },
     "localname": "WeightedAverageMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsNotesAndLoansReceivableNetCurrent": {
     "auth_ref": [
      "r256",
      "r532",
      "r558"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable - net (Note 5)"
       }
      }
     },
     "localname": "AccountsNotesAndLoansReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r15",
      "r589"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable Additional Disclosures [Abstract]"
       }
      }
     },
     "localname": "AccountsReceivableAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of Accounts Receivable, Allowance for Credit Loss"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccrualForEnvironmentalLossContingencies": {
     "auth_ref": [
      "r291",
      "r560",
      "r598",
      "r599",
      "r632",
      "r633"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total costs accrued as of the balance sheet date for environmental loss contingencies.",
        "label": "Accrual for Environmental Loss Contingencies",
        "terseLabel": "Accrual for environmental loss"
       }
      }
     },
     "localname": "AccrualForEnvironmentalLossContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Other accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r27",
      "r29",
      "r30",
      "r161",
      "r533",
      "r544",
      "r545"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r26",
      "r30",
      "r111",
      "r516",
      "r540",
      "r541",
      "r600",
      "r601",
      "r602",
      "r609",
      "r610",
      "r611"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r7",
      "r589"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional Paid in Capital",
        "terseLabel": "Paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r465",
      "r466",
      "r467",
      "r609",
      "r610",
      "r611",
      "r674"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentForAmortization": {
     "auth_ref": [
      "r50",
      "r73"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Amortization",
        "terseLabel": "Amortization"
       }
      }
     },
     "localname": "AdjustmentForAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r96",
      "r97",
      "r432"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net loss to cash provided by (used in) operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r162",
      "r257",
      "r260",
      "r261",
      "r264"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "periodEndLabel": "Allowance for doubtful accounts, ending balance",
        "periodStartLabel": "Allowance for doubtful accounts, beginning balance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]",
        "terseLabel": "Allowance for Doubtful Accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableRollforward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "auth_ref": [
      "r263"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "negatedTerseLabel": "Write-off against allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r50",
      "r69",
      "r73"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization expense"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r217"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti-dilutive shares (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r130",
      "r143",
      "r160",
      "r193",
      "r235",
      "r241",
      "r247",
      "r258",
      "r294",
      "r295",
      "r297",
      "r298",
      "r299",
      "r301",
      "r303",
      "r305",
      "r306",
      "r489",
      "r494",
      "r503",
      "r589",
      "r638",
      "r639",
      "r679"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "terseLabel": "Assets",
        "totalLabel": "TOTAL ASSETS"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r154",
      "r165",
      "r193",
      "r258",
      "r294",
      "r295",
      "r297",
      "r298",
      "r299",
      "r301",
      "r303",
      "r305",
      "r306",
      "r489",
      "r494",
      "r503",
      "r589",
      "r638",
      "r639",
      "r679"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "auth_ref": [
      "r121"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Fair Value Disclosure",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "AssetsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FinancialStatementsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r52",
      "r156",
      "r550"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents, Fair Value Disclosure",
        "netLabel": "Term deposits"
       }
      }
     },
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r47",
      "r52",
      "r54"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r47",
      "r124"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net decrease in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r76",
      "r287",
      "r288",
      "r546",
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingent Liabilities"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r609",
      "r610",
      "r674"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (usd per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r6",
      "r78"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "verboseLabel": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r6",
      "r589"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock, par value $0.01, authorized 20,000,000 shares; shares issued at March\u00a031, 2023 and December\u00a031, 2022, 11,115,779; shares outstanding at March\u00a031, 2023 and December\u00a031, 2022, 10,809,711 and 10,776,827, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r32",
      "r175",
      "r177",
      "r184",
      "r529",
      "r536"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive loss attributable to L.B. Foster Company"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r107",
      "r108",
      "r114",
      "r175",
      "r177",
      "r183",
      "r528",
      "r535"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest",
        "totalLabel": "Amounts attributable to noncontrolling interest"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest [Abstract]",
        "terseLabel": "Less comprehensive (loss) income attributable to noncontrolling interest:"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "terseLabel": "Schedule of Contract with Customer, Contract Asset, Contract Liability"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "auth_ref": [
      "r334",
      "r336",
      "r349"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss",
        "periodEndLabel": "Balance as of March 31, 2023",
        "periodStartLabel": "Balance as of December 31, 2022",
        "terseLabel": "Contract assets - net (Note 3)",
        "verboseLabel": "Contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails",
      "http://www.lbfoster.com/role/RevenueNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable": {
     "auth_ref": [
      "r567"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Contract with Customer, Asset, Reclassified to Receivable",
        "negatedTerseLabel": "Transfers from contract asset balance to accounts receivable",
        "terseLabel": "Contract assets transferred to receivables"
       }
      }
     },
     "localname": "ContractWithCustomerAssetReclassifiedToReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails",
      "http://www.lbfoster.com/role/RevenueNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r334",
      "r335",
      "r349"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "periodEndLabel": "Balance as of March 31, 2023",
        "periodStartLabel": "Balance as of December 31, 2022",
        "terseLabel": "Balance as of December 31, 2022"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails",
      "http://www.lbfoster.com/role/RevenueNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r334",
      "r335",
      "r349"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r350"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "negatedTerseLabel": "Revenue recognized from contract liabilities",
        "terseLabel": "Revenue recognized from contract liability"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueContractwithCustomerDetails",
      "http://www.lbfoster.com/role/RevenueNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateNonSegmentMember": {
     "auth_ref": [
      "r65",
      "r240",
      "r241",
      "r242",
      "r243",
      "r249",
      "r613"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Corporate, Non-Segment [Member]",
        "terseLabel": "Unallocated corporate assets"
       }
      }
     },
     "localname": "CorporateNonSegmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r37",
      "r193",
      "r258",
      "r294",
      "r295",
      "r297",
      "r298",
      "r299",
      "r301",
      "r303",
      "r305",
      "r306",
      "r503",
      "r638"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.",
        "label": "Cost of Revenue",
        "terseLabel": "Total cost of sales"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r102"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer relationships"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtAndCapitalLeaseObligations": {
     "auth_ref": [
      "r135",
      "r147"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term and long-term debt and lease obligation.",
        "label": "Debt and Lease Obligation",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "DebtAndCapitalLeaseObligations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r77",
      "r192",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r323",
      "r330",
      "r331",
      "r332"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Long-term Debt and Related Matters"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMatters"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r2",
      "r3",
      "r4",
      "r131",
      "r132",
      "r142",
      "r196",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r313",
      "r319",
      "r320",
      "r321",
      "r322",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r512",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r19",
      "r196",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r313",
      "r319",
      "r320",
      "r321",
      "r322",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r512",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodAxis": {
     "auth_ref": [
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about timing of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument, Redemption, Period [Axis]",
        "terseLabel": "Debt Instrument, Redemption, Period [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodDomain": {
     "auth_ref": [
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period as defined under terms of the debt agreement for debt redemption features.",
        "label": "Debt Instrument, Redemption, Period [Domain]",
        "terseLabel": "Debt Instrument, Redemption, Period [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodOneMember": {
     "auth_ref": [
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period one representing most current period of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument, Redemption, Period One [Member]",
        "terseLabel": "Debt Instrument, Redemption, Period One"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodOneMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodTwoMember": {
     "auth_ref": [
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period two representing second most current period of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument, Redemption, Period Two [Member]",
        "terseLabel": "Debt Instrument, Redemption, Period Two"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Debt Instrument, Term",
        "terseLabel": "Debt instrument term"
       }
      }
     },
     "localname": "DebtInstrumentTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r469",
      "r470"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred tax assets (Note 9)"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r50",
      "r98",
      "r476",
      "r481",
      "r482",
      "r607"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r469",
      "r470"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred tax liabilities (Note 9)"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses": {
     "auth_ref": [
      "r354",
      "r392",
      "r417",
      "r577",
      "r578"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) recognized in net periodic benefit (cost) credit of defined benefit plan.",
        "label": "Defined Benefit Plan, Amortization of Gain (Loss)",
        "negatedLabel": "Recognized net actuarial loss"
       }
      }
     },
     "localname": "DefinedBenefitPlanAmortizationOfGainsLosses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit": {
     "auth_ref": [
      "r354",
      "r393",
      "r418",
      "r577",
      "r578"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of prior service cost (credit) recognized in net periodic benefit cost (credit) of defined benefit plan.",
        "label": "Defined Benefit Plan, Amortization of Prior Service Cost (Credit)",
        "terseLabel": "Amortization of prior service costs and transition amount"
       }
      }
     },
     "localname": "DefinedBenefitPlanAmortizationOfPriorServiceCostCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanContributionsByEmployer": {
     "auth_ref": [
      "r369",
      "r379",
      "r421",
      "r575",
      "r576",
      "r577",
      "r578"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets.",
        "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer",
        "terseLabel": "Defined benefit plan, contributions by employer"
       }
      }
     },
     "localname": "DefinedBenefitPlanContributionsByEmployer",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "verboseLabel": "Defined Benefit Plan Disclosure"
       }
      }
     },
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear": {
     "auth_ref": [
      "r578",
      "r644"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of contributions received and expected to be received by defined benefit plan from employer in current fiscal year.",
        "label": "Defined Benefit Plan, Expected Future Employer Contributions, Current Fiscal Year",
        "terseLabel": "Defined benefit plan, expected future employer contributions, current fiscal year"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets": {
     "auth_ref": [
      "r354",
      "r391",
      "r416",
      "r577",
      "r578"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Defined Benefit Plan, Expected Return (Loss) on Plan Assets",
        "negatedLabel": "Expected return on plan assets"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedReturnOnPlanAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanInterestCost": {
     "auth_ref": [
      "r354",
      "r358",
      "r390",
      "r415",
      "r577",
      "r578"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost recognized for passage of time related to defined benefit plan.",
        "label": "Defined Benefit Plan, Interest Cost",
        "terseLabel": "Interest cost"
       }
      }
     },
     "localname": "DefinedBenefitPlanInterestCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": {
     "auth_ref": [
      "r388",
      "r413",
      "r577",
      "r578"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan.",
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit)",
        "totalLabel": "Net periodic pension (income) cost"
       }
      }
     },
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "auth_ref": [
      "r425"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost for defined contribution plan.",
        "label": "Defined Contribution Plan, Cost",
        "terseLabel": "Expenses associated with contributions made"
       }
      }
     },
     "localname": "DefinedContributionPlanCostRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Defined Contribution Plan Disclosure [Line Items]",
        "terseLabel": "Defined Contribution Plan Disclosure"
       }
      }
     },
     "localname": "DefinedContributionPlanDisclosureLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedContributionPlanTable": {
     "auth_ref": [
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans.",
        "label": "Defined Contribution Plan [Table]",
        "terseLabel": "Defined Contribution Plan [Table]"
       }
      }
     },
     "localname": "DefinedContributionPlanTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r50",
      "r75"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Depreciation",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssets": {
     "auth_ref": [
      "r166",
      "r167",
      "r502",
      "r555"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Derivative Asset",
        "terseLabel": "Interest rate swaps"
       }
      }
     },
     "localname": "DerivativeAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Derivative Contract [Domain]",
        "terseLabel": "Derivative Contract [Domain]"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r117",
      "r118",
      "r119",
      "r120",
      "r555"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]",
        "terseLabel": "Derivative Instrument [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r348",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Disaggregation of Revenue [Table]",
        "terseLabel": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r643"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r434",
      "r461",
      "r462",
      "r464",
      "r468",
      "r586"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "terseLabel": "Stock-Based Compensation"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DomesticPlanMember": {
     "auth_ref": [
      "r645",
      "r646",
      "r647"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Domestic Plan [Member]",
        "terseLabel": "Domestic Plan"
       }
      }
     },
     "localname": "DomesticPlanMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r185",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r210",
      "r212",
      "r214",
      "r215",
      "r216",
      "r220",
      "r497",
      "r498",
      "r530",
      "r537",
      "r556"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "verboseLabel": "Basic loss per common share (usd per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r185",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r212",
      "r214",
      "r215",
      "r216",
      "r220",
      "r497",
      "r498",
      "r530",
      "r537",
      "r556"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted loss per common share (usd per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r217",
      "r218",
      "r219",
      "r221"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Earnings Per Common Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r676"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r472"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective income tax rate (percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Accrued payroll and employee benefits"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee-related Liabilities [Abstract]"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrentAndNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r463"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "terseLabel": "Expected cost on shares expected to vest"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r463"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Recognition period for compensation expense not yet recognized"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r78",
      "r150",
      "r178",
      "r179",
      "r180",
      "r197",
      "r198",
      "r199",
      "r201",
      "r207",
      "r209",
      "r222",
      "r259",
      "r333",
      "r465",
      "r466",
      "r467",
      "r477",
      "r478",
      "r496",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r510",
      "r516",
      "r540",
      "r541",
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]",
        "terseLabel": "Fair Value, Balance Sheet Grouping, Financial Statement Captions"
       }
      }
     },
     "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails",
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "auth_ref": [
      "r121",
      "r122",
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, by Balance Sheet Grouping [Table]",
        "terseLabel": "Fair Value, by Balance Sheet Grouping [Table]"
       }
      }
     },
     "localname": "FairValueByBalanceSheetGroupingTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails",
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r321",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r500",
      "r517",
      "r518",
      "r519",
      "r562",
      "r563",
      "r575",
      "r576",
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "terseLabel": "Fair Value, Hierarchy [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r321",
      "r379",
      "r384",
      "r500",
      "r517",
      "r575",
      "r576",
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "terseLabel": "Level 1"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r321",
      "r379",
      "r384",
      "r500",
      "r518",
      "r562",
      "r563",
      "r575",
      "r576",
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "terseLabel": "Level 2"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r321",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r500",
      "r519",
      "r562",
      "r563",
      "r575",
      "r576",
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Level 3"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r321",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r517",
      "r518",
      "r519",
      "r562",
      "r563",
      "r575",
      "r576",
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "terseLabel": "Fair Value, Measurements, Fair Value Hierarchy [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsScheduleofFairValueAssetsandLiabilitiesMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r514",
      "r515"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Finance Lease, Liability",
        "verboseLabel": "Finance leases and financing agreements"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Financing Receivable, Allowance for Credit Loss [Line Items]",
        "terseLabel": "Financing Receivable, Allowance for Credit Loss [Line Items]"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLossesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Weighted Average Amortization Period In Years"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r158",
      "r280"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r278",
      "r279",
      "r280",
      "r281",
      "r524",
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r72",
      "r525"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "verboseLabel": "Gross Carrying Value"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Finite-Lived Intangible Assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r70",
      "r71"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r72",
      "r524"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Net Carrying Amount",
        "verboseLabel": "Other intangibles - net (Note 4)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignPlanMember": {
     "auth_ref": [
      "r645",
      "r646",
      "r647"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Foreign Plan [Member]",
        "terseLabel": "Foreign Plan"
       }
      }
     },
     "localname": "ForeignPlanMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnSaleOfBusiness": {
     "auth_ref": [
      "r493",
      "r604"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.",
        "label": "Gain (Loss) on Disposition of Business",
        "negatedTerseLabel": "Loss on asset divestitures"
       }
      }
     },
     "localname": "GainLossOnSaleOfBusiness",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "(Gain) loss on sales and disposals of property, plant, and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r157",
      "r266",
      "r526",
      "r559",
      "r589",
      "r618",
      "r625"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "periodEndLabel": "Goodwill, ending balance",
        "periodStartLabel": "Goodwill, beginning balance",
        "terseLabel": "Goodwill (Note 4)"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r74"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Other Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r272"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "terseLabel": "Foreign currency translation impact"
       }
      }
     },
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill [Line Items]"
       }
      }
     },
     "localname": "GoodwillLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Goodwill [Roll Forward]",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "GoodwillRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r36",
      "r193",
      "r235",
      "r240",
      "r246",
      "r249",
      "r258",
      "r294",
      "r295",
      "r297",
      "r298",
      "r299",
      "r301",
      "r303",
      "r305",
      "r306",
      "r503",
      "r557",
      "r638"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity": {
     "auth_ref": [
      "r104",
      "r106"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of income (loss) from continuing operations attributable to the noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations, Net of Tax, Attributable to Noncontrolling Interest",
        "terseLabel": "Net loss attributable to noncontrolling interest"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r34",
      "r129",
      "r136",
      "r149",
      "r235",
      "r240",
      "r246",
      "r249",
      "r531",
      "r557"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "terseLabel": "Loss before income taxes",
        "totalLabel": "Loss before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r106",
      "r193",
      "r200",
      "r235",
      "r240",
      "r246",
      "r249",
      "r258",
      "r294",
      "r295",
      "r297",
      "r298",
      "r299",
      "r301",
      "r303",
      "r305",
      "r306",
      "r498",
      "r503",
      "r557",
      "r638"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      },
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "netLabel": "Net loss",
        "terseLabel": "Net loss",
        "totalLabel": "Net loss",
        "verboseLabel": "Net loss"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r282",
      "r284"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r284"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r194",
      "r473",
      "r474",
      "r475",
      "r479",
      "r483",
      "r485",
      "r486",
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r195",
      "r208",
      "r209",
      "r233",
      "r471",
      "r480",
      "r484",
      "r538"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Income tax benefit"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r53"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid, Net",
        "verboseLabel": "Income taxes received"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Accounts and Other Receivables",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsAndOtherReceivables",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r603"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedTerseLabel": "Contract assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r522",
      "r603"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Employee Related Liabilities",
        "terseLabel": "Accrued payroll and employee benefits"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Change in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Other Accrued Liabilities",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "auth_ref": [
      "r603"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current assets classified as other.",
        "label": "Increase (Decrease) in Other Current Assets",
        "negatedLabel": "Other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "auth_ref": [
      "r603"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "negatedLabel": "Other noncurrent assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r127",
      "r139",
      "r181",
      "r229",
      "r511"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "terseLabel": "Interest expense",
        "verboseLabel": "Interest expense - net"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "auth_ref": [
      "r138"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of operating interest income (expense).",
        "label": "Interest Income (Expense), Net",
        "terseLabel": "Interest expense - net"
       }
      }
     },
     "localname": "InterestIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r187",
      "r190",
      "r191"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Interest paid"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r265"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventory"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Inventory"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r67",
      "r552"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/InventoryDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r163",
      "r551",
      "r589"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.lbfoster.com/role/InventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories - net (Note 6)",
        "totalLabel": "Inventories - net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.lbfoster.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r67",
      "r554"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/InventoryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r67",
      "r553"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/InventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/InventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r11",
      "r134",
      "r146",
      "r589",
      "r606",
      "r616",
      "r675"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r18",
      "r155",
      "r193",
      "r258",
      "r294",
      "r295",
      "r297",
      "r298",
      "r299",
      "r301",
      "r303",
      "r305",
      "r306",
      "r490",
      "r494",
      "r495",
      "r503",
      "r589",
      "r638",
      "r679",
      "r680"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r4",
      "r132",
      "r142"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-Term Line of Credit",
        "terseLabel": "Revolving credit facility",
        "verboseLabel": "Line of credit facility, amount outstanding"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails",
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r16",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lender Name [Axis]",
        "terseLabel": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet": {
     "auth_ref": [
      "r605"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) of the credit facility.",
        "label": "Line of Credit Facility, Increase (Decrease), Net",
        "terseLabel": "Line of credit facility increase over previous commitment"
       }
      }
     },
     "localname": "LineOfCreditFacilityIncreaseDecreaseForPeriodNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r16",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Line of Credit Facility, Lender [Domain]",
        "terseLabel": "Line of Credit Facility, Lender [Domain]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Line of Credit Facility [Line Items]",
        "verboseLabel": "Line of Credit Facility"
       }
      }
     },
     "localname": "LineOfCreditFacilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r16"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Line of credit facility, maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "auth_ref": [
      "r16",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.",
        "label": "Line of Credit Facility [Table]",
        "verboseLabel": "Line of Credit Facility [Table]"
       }
      }
     },
     "localname": "LineOfCreditFacilityTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LitigationSettlementAmountAwardedToOtherParty": {
     "auth_ref": [],
     "calculation": {
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount awarded to other party in judgment or settlement of litigation.",
        "label": "Litigation Settlement, Amount Awarded to Other Party",
        "terseLabel": "Litigation settlement amount",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "LitigationSettlementAmountAwardedToOtherParty",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesFuturePaymentsDetails",
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "auth_ref": [
      "r615"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivable"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligations": {
     "auth_ref": [
      "r4"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      },
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent.",
        "label": "Long-Term Debt and Lease Obligation",
        "terseLabel": "Long-term portion",
        "verboseLabel": "Long-term debt (Note 7)"
       }
      }
     },
     "localname": "LongTermDebtAndCapitalLeaseObligations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt and lease obligation, classified as current.",
        "label": "Long-Term Debt and Lease Obligation, Current",
        "negatedLabel": "Less current maturities",
        "verboseLabel": "Current maturities of long-term debt (Note 7)"
       }
      }
     },
     "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersScheduleofLongtermDebtInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum amount the entity agreed to spend under the long-term purchase commitment.",
        "label": "Long-Term Purchase Commitment, Amount",
        "terseLabel": "Purchase commitment"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r23",
      "r133",
      "r145",
      "r193",
      "r258",
      "r294",
      "r297",
      "r298",
      "r299",
      "r305",
      "r306",
      "r503"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).",
        "label": "Stockholders' Equity Attributable to Noncontrolling Interest",
        "terseLabel": "Noncontrolling interest"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r189"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash (used in) provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r189"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash provided by (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r47",
      "r48",
      "r51"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r35",
      "r51",
      "r137",
      "r148",
      "r153",
      "r173",
      "r176",
      "r180",
      "r193",
      "r200",
      "r202",
      "r203",
      "r204",
      "r205",
      "r208",
      "r209",
      "r213",
      "r235",
      "r240",
      "r246",
      "r249",
      "r258",
      "r294",
      "r295",
      "r297",
      "r298",
      "r299",
      "r301",
      "r303",
      "r305",
      "r306",
      "r498",
      "r503",
      "r557",
      "r638"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "totalLabel": "Net loss attributable to L.B. Foster Company"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Attributable to Parent [Abstract]",
        "terseLabel": "Numerator for basic and diluted loss per common share:"
       }
      }
     },
     "localname": "NetIncomeLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r109",
      "r113",
      "r173",
      "r176",
      "r208",
      "r209",
      "r602"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Net Income (Loss) Attributable to Noncontrolling Interest",
        "terseLabel": "Net loss attributable to noncontrolling interest"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r101"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Noncompete Agreements [Member]",
        "terseLabel": "Non-compete agreements"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r104",
      "r333",
      "r609",
      "r610",
      "r611"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Noncontrolling Interest [Member]",
        "terseLabel": "Noncontrolling Interest"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OffMarketFavorableLeaseMember": {
     "auth_ref": [
      "r629"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Off-Market Favorable Lease [Member]",
        "terseLabel": "Favorable lease"
       }
      }
     },
     "localname": "OffMarketFavorableLeaseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r235",
      "r240",
      "r246",
      "r249",
      "r557"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      },
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "terseLabel": "Segment Operating Profit (Loss)",
        "totalLabel": "Operating profit (loss)",
        "verboseLabel": "Operating profit (loss) for reportable segments"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r514"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Long-term operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r513"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right-of-use assets - net"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r249"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Operating Segments [Member]",
        "terseLabel": "Operating Segments"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "auth_ref": [
      "r0",
      "r115"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "terseLabel": "Financial Statements"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FinancialStatements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r164",
      "r589"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Assets, Current",
        "terseLabel": "Other current assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r159"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Noncurrent [Abstract]",
        "terseLabel": "Other assets:"
       }
      }
     },
     "localname": "OtherAssetsNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r25",
      "r27",
      "r106",
      "r110"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan, attributable to parent.",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Tax and Reclassification Adjustment, Attributable to Parent",
        "negatedLabel": "Pension liability adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r106",
      "r107",
      "r110"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r106",
      "r107",
      "r110"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": {
     "auth_ref": [
      "r168",
      "r169"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 4.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, after Tax",
        "terseLabel": "Unrealized (loss) gain on cash flow hedges, net of tax benefit of $0 and $188, respectively",
        "verboseLabel": "Unrealized derivative gain (loss) on cash flow hedges"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax": {
     "auth_ref": [
      "r170"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, Tax",
        "negatedLabel": "Unrealized gain (loss) on cash flow hedge, tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLossParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax": {
     "auth_ref": [
      "r169",
      "r171"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 5.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, after Tax",
        "negatedLabel": "Cash flow hedges reclassified to earnings",
        "negatedTerseLabel": "Cash flow hedges reclassified to earnings, net of tax expense of $0 and $66, respectively"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax": {
     "auth_ref": [
      "r170"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax expense (benefit) for reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, Tax",
        "negatedLabel": "Cash flow hedges reclassified to earnings, tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLossParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r24"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r33",
      "r78",
      "r174",
      "r177",
      "r182",
      "r504",
      "r509",
      "r510",
      "r527",
      "r534",
      "r600",
      "r601"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "totalLabel": "Total comprehensive loss"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "terseLabel": "Other comprehensive income, net of tax:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive income (loss), net of tax:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax": {
     "auth_ref": [
      "r27",
      "r31",
      "r89",
      "r172"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of reclassification adjustment from accumulated other comprehensive (income) loss for net periodic benefit cost (credit) of defined benefit plan.",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, after Tax",
        "terseLabel": "Reclassification of pension liability adjustments to earnings, net of tax expense of $2 and $16, respectively*"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax": {
     "auth_ref": [
      "r28",
      "r106"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax (expense) benefit for reclassification adjustment from accumulated other comprehensive (income) loss of defined benefit plan.",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, Tax",
        "terseLabel": "Reclassification of pension liability adjustments to earnings, tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofComprehensiveLossParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "verboseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      },
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "negatedLabel": "Other expense (income) - net",
        "terseLabel": "Other (expense) income - net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r103"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Patents [Member]",
        "terseLabel": "Patents"
       }
      }
     },
     "localname": "PatentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r45"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Treasury stock acquisitions"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r42"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Capital expenditures on property, plant, and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r376",
      "r378",
      "r384",
      "r402",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r423",
      "r424",
      "r425",
      "r430",
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Retirement Benefits [Text Block]",
        "terseLabel": "Retirement Plans"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PensionPlansDefinedBenefitMember": {
     "auth_ref": [
      "r86",
      "r353",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r403",
      "r406",
      "r409",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r425",
      "r426",
      "r429",
      "r577",
      "r578",
      "r582",
      "r583",
      "r584"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits.",
        "label": "Pension Plan [Member]",
        "terseLabel": "Pension Plan"
       }
      }
     },
     "localname": "PensionPlansDefinedBenefitMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]",
        "terseLabel": "Performance-Based Stock and Share Units"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromDivestitureOfBusinesses": {
     "auth_ref": [
      "r40"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from the sale of a portion of the company's business, for example a segment, division, branch or other business, during the period.",
        "label": "Proceeds from Divestiture of Businesses",
        "terseLabel": "Proceeds from business dispositions"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfBusinesses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt": {
     "auth_ref": [
      "r43"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from issuance of long-term debt classified as other.",
        "label": "Proceeds from Issuance of Other Long-Term Debt",
        "terseLabel": "Proceeds from debt"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfOtherLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMinorityShareholders": {
     "auth_ref": [
      "r44"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.",
        "label": "Proceeds from Noncontrolling Interests",
        "terseLabel": "Investment of noncontrolling interest"
       }
      }
     },
     "localname": "ProceedsFromMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from the sale of property, plant, and equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductLiabilityContingencyLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Product Liability Contingency [Line Items]",
        "terseLabel": "Product Liability Contingency"
       }
      }
     },
     "localname": "ProductLiabilityContingencyLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductLiabilityContingencyTable": {
     "auth_ref": [
      "r292",
      "r633",
      "r634",
      "r635"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information and financial data about the reasonably possible loss or the recognized and additional reasonably possible loss from product liability related to an individual product.",
        "label": "Product Liability Contingency [Table]",
        "terseLabel": "Product Liability Contingency [Table]"
       }
      }
     },
     "localname": "ProductLiabilityContingencyTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CommitmentsandContingentLiabilitiesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductMember": {
     "auth_ref": [
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Article or substance produced by nature, labor or machinery.",
        "label": "Product [Member]",
        "terseLabel": "Sales of goods"
       }
      }
     },
     "localname": "ProductMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r153",
      "r173",
      "r176",
      "r188",
      "r193",
      "r200",
      "r208",
      "r209",
      "r235",
      "r240",
      "r246",
      "r249",
      "r258",
      "r294",
      "r295",
      "r297",
      "r298",
      "r299",
      "r301",
      "r303",
      "r305",
      "r306",
      "r488",
      "r491",
      "r492",
      "r498",
      "r503",
      "r531",
      "r557",
      "r587",
      "r588",
      "r602",
      "r638"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "verboseLabel": "Net loss"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "auth_ref": [
      "r630",
      "r677"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "terseLabel": "Property, plant, and equipment - net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r186",
      "r262"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Current period provision",
        "verboseLabel": "Reserve for uncollectible accounts, expense"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableAllowanceforCreditLossesDetails",
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock": {
     "auth_ref": [
      "r62",
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets.",
        "label": "Reconciliation of Assets from Segment to Consolidated [Table Text Block]",
        "terseLabel": "Schedule of Reconciliation of Assets from Segment to Consolidated"
       }
      }
     },
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable": {
     "auth_ref": [
      "r61",
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.",
        "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]",
        "terseLabel": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]"
       }
      }
     },
     "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock": {
     "auth_ref": [
      "r61",
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.",
        "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block]",
        "terseLabel": "Schedule of Reconciliation of Operating Profit (Loss) from Segments to Consolidated"
       }
      }
     },
     "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": {
     "auth_ref": [
      "r60",
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.",
        "label": "Reconciliation of Revenue from Segments to Consolidated [Table Text Block]",
        "terseLabel": "Schedule of Reconciliation of Revenue from Segments to Consolidated"
       }
      }
     },
     "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfOtherLongTermDebt": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for the payment of debt classified as other, maturing after one year or the operating cycle, if longer.",
        "label": "Repayments of Other Long-Term Debt",
        "negatedLabel": "Repayments of debt"
       }
      }
     },
     "localname": "RepaymentsOfOtherLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted Stock"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r8",
      "r83",
      "r144",
      "r543",
      "r545",
      "r589"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r150",
      "r197",
      "r198",
      "r199",
      "r201",
      "r207",
      "r209",
      "r259",
      "r465",
      "r466",
      "r467",
      "r477",
      "r478",
      "r496",
      "r540",
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanSponsorLocationAxis": {
     "auth_ref": [
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r403",
      "r406",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r645",
      "r646",
      "r647"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Retirement Plan Sponsor Location [Axis]",
        "terseLabel": "Retirement Plan Sponsor Location [Axis]"
       }
      }
     },
     "localname": "RetirementPlanSponsorLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanSponsorLocationDomain": {
     "auth_ref": [
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r403",
      "r406",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r645",
      "r646",
      "r647"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans.",
        "label": "Retirement Plan Sponsor Location [Domain]",
        "terseLabel": "Retirement Plan Sponsor Location [Domain]"
       }
      }
     },
     "localname": "RetirementPlanSponsorLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleofCostsofRetirementPlansDetails",
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "auth_ref": [
      "r86",
      "r87",
      "r353",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r403",
      "r406",
      "r409",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r425",
      "r426",
      "r427",
      "r429",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Axis]",
        "terseLabel": "Retirement Plan Type [Axis]"
       }
      }
     },
     "localname": "RetirementPlanTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "auth_ref": [
      "r86",
      "r87",
      "r353",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r403",
      "r406",
      "r409",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r425",
      "r426",
      "r427",
      "r429",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Domain]",
        "terseLabel": "Retirement Plan Type [Domain]"
       }
      }
     },
     "localname": "RetirementPlanTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r226",
      "r227",
      "r239",
      "r244",
      "r245",
      "r251",
      "r252",
      "r254",
      "r347",
      "r348",
      "r523"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "netLabel": "Net Sales",
        "terseLabel": "Total net sales"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r345",
      "r346",
      "r351",
      "r352"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/Revenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r343"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Revenue remaining performance obligation"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r344"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Revenue, remaining performance obligation, expected timing of satisfaction, period"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r344"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "auth_ref": [
      "r642"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "Revenue remaining performance obligation (percentage)"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving credit facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock": {
     "auth_ref": [
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Costs of Retirement Plans [Table Text Block]",
        "terseLabel": "Schedule of Costs of Retirement Plans"
       }
      }
     },
     "localname": "ScheduleOfCostsOfRetirementPlansTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "auth_ref": [
      "r19",
      "r79",
      "r80",
      "r81",
      "r82",
      "r125",
      "r126",
      "r128",
      "r141",
      "r562",
      "r564",
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Long-Term Debt Instruments [Table Text Block]",
        "terseLabel": "Schedule of Long-term Debt Instruments"
       }
      }
     },
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/LongtermDebtandRelatedMattersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "auth_ref": [
      "r90",
      "r91",
      "r92",
      "r93",
      "r94"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule of Defined Benefit Plans Disclosures [Table]",
        "terseLabel": "Schedule of Defined Benefit Plans Disclosures [Table]"
       }
      }
     },
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansNarrativeDetails",
      "http://www.lbfoster.com/role/RetirementPlansScheduleOfNetBenefitCostsDetails",
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningsPerCommonShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "auth_ref": [
      "r499",
      "r500"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis"
       }
      }
     },
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": {
     "auth_ref": [
      "r549",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about allowance for credit loss on financing receivable.",
        "label": "Financing Receivable, Allowance for Credit Loss [Table]",
        "terseLabel": "Financing Receivable, Allowance for Credit Loss [Table]"
       }
      }
     },
     "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r70",
      "r71",
      "r524"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r70",
      "r71"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r559"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.",
        "label": "Schedule of Goodwill [Table]",
        "terseLabel": "Schedule of Goodwill [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r559",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of Goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r1",
      "r12",
      "r13",
      "r14"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/InventoryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNetBenefitCostsTableTextBlock": {
     "auth_ref": [
      "r88"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Net Benefit Costs [Table Text Block]",
        "terseLabel": "Schedule of Net Benefit Costs"
       }
      }
     },
     "localname": "ScheduleOfNetBenefitCostsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RetirementPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": {
     "auth_ref": [
      "r95"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested shares.",
        "label": "Schedule of Nonvested Share Activity [Table Text Block]",
        "terseLabel": "Schedule of Nonvested Share Activity"
       }
      }
     },
     "localname": "ScheduleOfNonvestedShareActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r58",
      "r59",
      "r63",
      "r68"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. 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.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r431",
      "r433",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r223",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r249",
      "r254",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r285",
      "r286",
      "r559",
      "r687"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segments [Domain]",
        "terseLabel": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r223",
      "r224",
      "r225",
      "r235",
      "r238",
      "r243",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r253",
      "r254",
      "r255"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Business Segments"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment Reporting Information",
        "verboseLabel": "Segment Reporting Information"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsNarrativeDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]",
        "terseLabel": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofOperatingProfitLossfromSegmentstoConsolidatedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, General and Administrative Expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/AccountsReceivableNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ServiceMember": {
     "auth_ref": [
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service.",
        "label": "Service [Member]",
        "terseLabel": "Sales of services"
       }
      }
     },
     "localname": "ServiceMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Noncash Expense [Abstract]"
       }
      }
     },
     "localname": "ShareBasedCompensationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r586"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "verboseLabel": "Vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "verboseLabel": "Granted (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r446",
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Outstanding, Ending balance (in shares)",
        "periodStartLabel": "Outstanding, Beginning balance (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Restricted Stock, Deferred Stock Units and Performance Share Units"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r446",
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Outstanding, Ending balance (usd per share)",
        "periodStartLabel": "Outstanding, Beginning balance (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails",
      "http://www.lbfoster.com/role/StockBasedCompensationRestrictedStockandPerformanceShareUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-Based Payment Arrangement, Tranche One [Member]",
        "terseLabel": "Vesting period one"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-Based Payment Arrangement, Tranche Two [Member]",
        "terseLabel": "Vesting period two"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r152",
      "r223",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r249",
      "r254",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r283",
      "r285",
      "r286",
      "r559",
      "r687"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]",
        "terseLabel": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofAssetsfromSegmenttoConsolidatedDetails",
      "http://www.lbfoster.com/role/BusinessSegmentsReconciliationofRevenuefromSegmentstoConsolidatedDetails",
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails",
      "http://www.lbfoster.com/role/RevenueSalesbyMajorProductLineDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r21",
      "r78",
      "r150",
      "r178",
      "r179",
      "r180",
      "r197",
      "r198",
      "r199",
      "r201",
      "r207",
      "r209",
      "r222",
      "r259",
      "r333",
      "r465",
      "r466",
      "r467",
      "r477",
      "r478",
      "r496",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r510",
      "r516",
      "r540",
      "r541",
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]",
        "terseLabel": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r197",
      "r198",
      "r199",
      "r222",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofOperations",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r5",
      "r6",
      "r78",
      "r83"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Common shares issues net of shares withheld (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r5",
      "r6",
      "r78",
      "r83"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Issuance of common shares, net of share withheld for taxes"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r6",
      "r9",
      "r10",
      "r66",
      "r589",
      "r606",
      "r616",
      "r675"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "totalLabel": "Total L.B. Foster Company stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r104",
      "r105",
      "r112",
      "r150",
      "r151",
      "r179",
      "r197",
      "r198",
      "r199",
      "r201",
      "r207",
      "r259",
      "r333",
      "r465",
      "r466",
      "r467",
      "r477",
      "r478",
      "r496",
      "r504",
      "r505",
      "r510",
      "r516",
      "r541",
      "r542",
      "r606",
      "r616",
      "r675"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SwapMember": {
     "auth_ref": [
      "r116"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Swap [Member]",
        "terseLabel": "Swap"
       }
      }
     },
     "localname": "SwapMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TechnologyBasedIntangibleAssetsMember": {
     "auth_ref": [
      "r99"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights.",
        "label": "Technology-Based Intangible Assets [Member]",
        "terseLabel": "Technology"
       }
      }
     },
     "localname": "TechnologyBasedIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "auth_ref": [
      "r573",
      "r643"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by timing of transfer of good or service to customer.",
        "label": "Timing of Transfer of Good or Service [Axis]",
        "terseLabel": "Timing of Transfer of Good or Service [Axis]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "auth_ref": [
      "r573",
      "r643"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.",
        "label": "Timing of Transfer of Good or Service [Domain]",
        "terseLabel": "Timing of Transfer of Good or Service [Domain]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueOverTimeSalesDetails",
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "auth_ref": [
      "r100"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Trademarks and Trade Names [Member]",
        "terseLabel": "Trademarks and trade names"
       }
      }
     },
     "localname": "TrademarksAndTradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/GoodwillandOtherIntangibleAssetsScheduleofIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "auth_ref": [
      "r573"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred at point in time.",
        "label": "Transferred at Point in Time [Member]",
        "terseLabel": "Point in time"
       }
      }
     },
     "localname": "TransferredAtPointInTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredOverTimeMember": {
     "auth_ref": [
      "r573"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred over time.",
        "label": "Transferred over Time [Member]",
        "terseLabel": "Over time"
       }
      }
     },
     "localname": "TransferredOverTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/RevenueTimingofTransferDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonMember": {
     "auth_ref": [
      "r84"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockCommonMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonShares": {
     "auth_ref": [
      "r84"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common, Shares",
        "terseLabel": "Treasury stock shares - at cost, common stock (in shares)"
       }
      }
     },
     "localname": "TreasuryStockCommonShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockCommonValue": {
     "auth_ref": [
      "r22",
      "r84",
      "r85"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common, Value",
        "negatedLabel": "Treasury stock - at cost, 306,068 and 338,952 common stock shares at March\u00a031, 2023 and December\u00a031, 2022, respectively"
       }
      }
     },
     "localname": "TreasuryStockCommonValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]",
        "terseLabel": "Vesting [Axis]"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting [Domain]"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/StockBasedCompensationNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment [Abstract]",
        "terseLabel": "Effect of dilutive securities:"
       }
      }
     },
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r211",
      "r216"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Denominator for diluted loss per common share - adjusted weighted average shares outstanding (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": {
     "auth_ref": [
      "r55",
      "r56"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Weighted Average Number of Shares Issued, Basic",
        "terseLabel": "Weighted average shares outstanding (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesIssuedBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r210",
      "r216"
     ],
     "calculation": {
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "totalLabel": "Denominator for basic loss per common share (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]",
        "terseLabel": "Denominator:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.lbfoster.com/role/EarningPerCommonShareScheduleofEarningsPerShareBasicandDilutedDetails"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 9
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "https://asc.fasb.org/topic&trid=2122149",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568447-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568740-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4613674-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4590271-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "https://asc.fasb.org/topic&trid=2197479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "83",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126929950&loc=d3e34841-113949",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13467-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13476-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.13,16)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.10)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "e",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.16)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e689-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL34724391-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(23))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(i-k)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q1)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e689-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=d3e1703-114919",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=SL108413299-114919",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(10)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(8)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(9)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(8)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(j)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2439-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2919-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "https://asc.fasb.org/topic&trid=2235017",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4582445-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55415-109406",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(25))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(5))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(21))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r549": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1405",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2646-109256",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6571209&loc=d3e13703-110860",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4587-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r592": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r593": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r594": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r595": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r596": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r597": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)(1)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)(3)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/subtopic&trid=2196772",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13207-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8475-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "https://asc.fasb.org/topic&trid=2144416",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "712",
   "URI": "https://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "712",
   "URI": "https://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2439-114920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5227-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>84
<FILENAME>0000352825-23-000057-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000352825-23-000057-xbrl.zip
M4$L#!!0    ( .%CJE;:3/4Y.!0  /RA   0    97@M,3 Q<3$R,#(S+FAT
M;>T]:W/B.+;?[Z_0IG=FDRHPSX0\>KJ*)G0O>SN/2LCTSJ<M88N@'=MB;3DT
M_>OW'$DV!@R!-"&FEU3--*#WT7GKZ.C]7RYO6MT_;MMD(#V7W#Y\_-)ID8-B
MJ?2UUBJ5+KN7Y._=JR^D;I4KI!M0/^22"Y^ZI5+[^H <#*0<GI=*H]'(&M4L
M$3R6NG<E[*I><H4(F>5(Y^##>_P%_L^H\^'_WO^E6"27PHX\YDMB!XQ*YI H
MY/XC^>JP\$]2+)I:+3$<!_QQ($FU7*V1KR+XDS]172ZY=-F'N)_W)?W]?4D-
M\KXGG/&']PY_(MSY[8"?G?1KC<8QI>5&N5ZUJ[1VYMB]7J52;_3.:B?VORHP
MR1)4UVU".7;9;P<>]XL#AN.?-ZI#>3'BCAR<5\KE7PZFZDGV31:IRQ_]<S5;
M*.T+6)LIMH4K@O-W9?5W@27%/O6X.S[_6Y=[+"37;$3NA$?]OQ5"@' Q9 'O
MZXHA_\Y@1!A<?1V9V4 _+O=9/#L]I?:W >]Q22IEJ_*^A/4SUK1@K@"QX,.Z
MC3:VP--X?:K#<RYA+'MJQ?7,%3=]/Z(N:7]C=B3Y$R,=WP9DP$\[MY:6\(;,
M#RF2%[EUJ4\.V]\ZMT=S"UFX8<N6BF!AP>IK;0:<NHO0L?[L$K,1](M%/EKD
MT\U]MWU'6C=7M\WK/]++V,3<JB^<&VE>7S\TOY#V/]NMAV[G]S;I7+?:U^H3
M3K5]?=_L=FZNR>W=S>>[YM4J^+51H+]T8<@YUYYL-CMXOFQCBUQ**MT!(\,H
M&()\(:)/Y("'Q(D%"GR6@K!0TI[+PP'A/AD%(+1 NDALQX*^"(!\;48>!75#
M0GV'""@*"*S?@^_#(4 66C/LR*;01Y_[T #F/=6<CFC@A 2^$T9MK!7:4&7,
M:*"GQ0@2-?7'9#3@4,$6?@AB*I+ 1BBY374%G[EPR"&V^?7=:;5:OK@-Q&-
M/?6M<G%$*+2)Y$ $ "@0E[Z#$X;J7RRD*1'"Y)/A)@S1<,@)7\Q@,V9 Y#;Q
M:%9N][YCO0JW6,X;R+;'O%"$Z3!;!&JGSM5^8ZV##Y?M3YWK#O*B^X5T[='@
M$927GI!2>'K((74<((*BR_HP!DHI-0:'CGUY7L1?-LVIEFXD?=6-S!IS&@1J
MO9<,2!O(25-^%,+'7B2)+R1Q3!$P!@8\)!Q0UR4#"B2$5.<QZD-70).A'? >
M=B&PP$-^@Q6R=!)%;AY5I)KP*TW)FD$H-D(UR1KZ1WZ6,#/F+"+,[1!"IV/E
MBQ9 D;BZ!]%]"3+Z^G)/%!LAB@??96&H9>*(@XQU&-*'HH;>.)%KB12!+QZ7
MDK&"*LN0:YIX>B"M?082U66^ S(2!:6U6%'?@>WJY6&[VL@T;FD@N<U!^DL#
M[8#9#)D.U2J,4E:0.0$+HIZ(H![[#_(9X%NIQJ@ 5!H7(>E1V'@[O<U>Y$H.
MJI'& DHD[ ^3J!$A?Z./+,VG4HBB<4-U"'K+4&C^",J;\B0 ?W63VNE54*6)
M!>+I.:Q3"EP(,P&LDP- ,1(;PA\+^*W/09,;<2B:GE!:V>KJM=PF:TG4KD.
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
MFPW&=/$.-@';M:B_<4Y&2AS@T7?&XG-SXY1;U8RLY3?RM(FZW0:<,](EB!9
MOWF5*1(S_HA;1%Z3AM H.S*ZE(A#YRW8U9)#<$7^-PL-$!?&G!.6,L)5Z73-
M-(E?$<CK1 #2)LB;:X!K-'?2PX(>)L,Y1LL$<;:0!)JD_P*4J@8%F>&Z^!,W
MSS4OLT#!6GA:H]6B]V<VT@6;93 ,SYO -FI83M\E *_M1-D$AW FUYG_B66D
M#C\P=@( G!^_=VC[>DU_> \T_3]!?L.'@+..7XI+?-CQW]^"@3ZA6_$?H.8,
M[GNV' J.=HZ_EJ^D_[1O132M,T 2^1P9/3N\,_B\);?O3A3V4\N%*520A"RL
MQ0P$"<!Y8.X,-(NG!ZO@'_-<91/\RW0Y1VY/"9(%UB<C715I-1L!P*+/,^U0
M9V4X0U64.L=YEFRO7P'E,:"3:6IL1NB4A!&NA3%@4'4-_PDQ^)2J>8DHKXDO
M!518/Y<(-1ZSXT%(-FC3'%:"(XXPZJX<D3M^@:&6EI!/E73L'H%C4+-Y;I8L
M8F,0:=!\%G(\UKG& =K&+KJ'E^% RRDL 5$1"O?KMMW> 5GG,$J0Y Y_85':
M]T&&PZUTF^-LB==UL'@PM8%L2IV2809G-5:D67 ^4Y4T_+BR)+A-+1["P:"E
MM^JJB4_*(VGIT#_$D#T0C./!ZRG]6= CY#M"E83N)W(KE6K+;3=*1-&.V5HQ
MBP)&F^HYJ)8Y#('>*[ Y2:F& S:M-3Y8\3'Z2N+C1LIFGP[BI %2_C(6&CY"
M*A='1^+@VV\>/WMY]&<D*273VO,WUM8!;G4*+;S$4X6V2/ %^G^<M%JY.[91
M?S +=8501R.L.IO*8J(8B16E-;#O- 5&%'.K@7 ]#1+B\GNL_$$@N8)II$U&
M&]W2VRTF4I_P2R1W9 ^0#%<F!V$I+0@0!3S(/#FV9@;_ME<:V*(KBXAI0,P4
M8NMD&]8Z!.D9P!RPH#B3E5.)V#K=%IF2Y31!5MLZVQ;GVLD12+!R21_5U^B7
M5OIQE*-AOC<&$8-T&"$$ 1P\LB1VMDFJ>$O\>'\G S7B=ZUG,Y6AE,S1$ZU2
M15ZCGB.E13":C 8K%V9GJ<#6[!F.O4K7#;>EX;QQ&)G^M](6'T414BY)!O=<
M:V84NYY!K%4SU>=O *H%PBACLM<%>B] +(U<":)9D\1-\8*L1,>Z7$A+I-'&
M[XW(XV!)[9Z'OP$RJX*+E<3=R@[H#OB2&@UU:OQ,Y^3--=:Q-JH*KWO\BKU%
M%!TF?@\2WB/(1HV4<,CPNZRBN7&L<!-@/DQU$,2>:#1IUK5"V#/9TZ-=$K>
M#\C#\\*J7.+&UZ:;>;&]W_Q$C@"D5.7J3]:FVL3_G=HP\EQ.U,[(*OEQ1X[A
M.%_('*PI]^B6>7&?F?77*Z([TCN(<^888  :R!5B-[0S1XXT-,DE!DE$JS6"
MNQE0 G);3RKW75^G&P?W@]O5:RL0ZFIB2#]UXD<Q%*U!V[H@4\S]+#0(X>-?
M*#'4><=$]%C71])(TL@E0I]R*BP\<F6\'S>&D@8]% KE90V3DR_MSUUKI/>3
M <=>57:78&;3SF3*T.INCX3L,C9+2;V6>D:1JI@6T?$*)J9FD\@J,TYB$F>-
MFK0$'G_-MAIJ0HS'CXSYR!0+Y I6'^,I_-5(%8"BRA:(]CR"8G-F8($(#@ Q
M>#:I/7MSR2*7]K$P59Y%AC@M;X3)7YY!LF#6>?9!;R,O GA=UO &40POO6\N
M!_+Z?,4>O<%>:BP! S$>BL^9[062"?6FR/J>R:R+=NE.\$Q!::/O.P!%V.G6
MP?YV8]X# (6'4)\'%-[C24]S:0G]ZI7 MN=;;[^; @"2K(FA;?/0\C&"[9,.
MT*60U,?3&/!\"C14=!1T+S!%-'8T+D.NC),ABA6_@E4S3. (X.[A&K_9)BE3
M-GX_%Y;Q(9G(; K1",Q1<5TFP2\/GKUT:\T^3)Y I5GE-8^1#6H1B26U5V?=
ML N+62#D_'>T/O2N-.Z_QI0"T5R4MX_4MP[IV0T\^G=)3GISR.GQ[M-C\J6
MN -I!:8C7')6,?K2Q=K[E$6!:F$D'68^Y>@PV*J*'&4?Z;-F$+*MV%&&2B6U
MQKD=&!:N#VW%YD&G8;/2HJAC_RE00ULE91P[LQU+ESYD0Y;S>:[4VN2TVA9P
MVQ2(>+@TMD%$=K#+\;,X<W,KN'S@*G6FD8#8DNM<^S80YD>\3RM2]"2Y6#O+
MAFIEAJX[)5+VJ5Q#NL&$3YK\LT1D%286X2QH&("0TN2:PL_8R\"BS['C)DI)
M! T+UGGU.7ZYY:0)D'(P1"CPRKNB3?>$4-GS9A4[PVLL19?Y-S,2[_SL+<\9
M0DI=;+.CZA0'*"/770 "G7U<9VTC%(N=>FL\@8T7L(31C 40E"^[^N4=9GJE
M&L8MZ[G!-I-SF:+SJ79=U:X -O6!^0#L8)B"G$0<:]RZH:[LGE9;8<HO05J]
M#HMEY+'($ R;M1-F:F8*SH5%CQB0!Z!U='180&68Z.S&$MUPRS@Q-@GP,EN!
MRE.9,7 'Q <$SM$S$NC1X'&.+2=6^A\Q  5@F ,EEN)HGW$PYOI65ETWSNZ#
ME\:;(XX/GN_N'['.!]UL4AD;%9X0&XJVP'7 AKF8YS)MQ3#98=XO)LP"1QP'
MX$AB:36C936L>1.-P**M7CA9(K!(RY'3OM442&4YF*GV([K%9YA5#G//C%4<
MN7BR+^#0E<]-,/;ATN'5)I&AAYYU%$FR2ONE9(&$@/9%J<L*$6>$#M#!WD0
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
MD. !;4H$#" _[%H1?MI]P.'A7UU$!S2V%^^WG@T@?(X@=#"DKY9H100* O%
MJ<PK5?!D@ M]GAF!F#-5A#X"%(?,3'0L;F5:J4@, -0@AHD("9KP3T5+PZ9
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
M:O[:/OD4L/KH&3Z\!)Y1)N[!=E\]VM=AF2Q^]_Q9[_G1\J^/>GW_W2&MG;>
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
M8TS/*4CVU5FW+6E5XP<'$B@/*9W7CIQ41:[/X1AQ X]=UGF3P=D&\ZZZ4 Z
M9WE'W8EXT?AO<M%%S[_S!7"KI<X7WA&[?8M:E=YMM[\QV0$=:*F_E3[LJIE^
MTV0?1>"/M$/Y6"4&GM >FDAZ,<;E2,L@?N(Y<*@. CLMN3^?$JD: 3)A78,8
M5 5V1RN"SN?<-M8D) 6:(<M0:6^FIX# 2C!C"O.G0&/$YBVT(>QIB@DNY!#P
M#Z,0>&Z&\#N\"QD(I+RQJ[KA0Z"@$["ZL9[:W#*XD9S>SCNJ/FE60F/ ,S S
M;'OV.$65KK 6.]:ZN;:SN0WK>G':<B/7)6-!B_@F(+@TO'E3:\)=;:'@?6/
M "ILLY2,C6]HB)=;V,-F,4C<$1W.&HI&B"1!=)R:Q<-RU.>)E]5Y& ]V=2@R
MJ-+$ODSH6\&\\3 ,';J%R95KAE^Z>W7_Z-E78 KKS87:T]O#%$Y[3YYW<@6?
M1I90$_=TSC,W_5\J&TG.42*MT6%40$^8KJIA_Y)G(\!5N!<\=W\UUJ)4<=G=
M.S*;N^$%(3[>F1(P0X2Q"4&T1T(_S5$8U(/! ,-<EL0VIX\$]WU1]+LCPH@"
M'ADG@:+EB=E!MH(3RT9P,<$3&G"7MA\U?-'_FZ,J4Y5>%W?=$+@:AGQUTPKT
MJ!B 1.PL"4?V[%-4!@<J R2!J22@G.+F)%6I8G:*A ?63=#(;H_<68P4:G)3
MT!5Q=#-5984%6W>#.#P6>U+D\OP6PO\K0OB;Y4Q;Q)KZ/5;<E[,FLF)BH!!
M&_@6?K'= "A]"\B<S";* K)CACWG(9.;.K-;08X7A=*^_GRX+ME8^OM<+E<T
M1NBLHK<'AU3;@U7]9[VCD\\2>#JCKF=X8,N2[%;@ADM\V.O;@%%3?F)0_!9S
M+=BQ@.AB6397\])(18S_!#F<@"\@HR3Q>M'O@ZF!&;0HIX[=$'%??-1HB[Q>
MHE['6_3$KP:4L:Y4T#44!GHDV?G#H6KHAGL=;LZ_5JO8=XL! \'L8^PC/I-!
M2NC:*[FR+O8K\6I!.-"FW%D'X/U7;ZO0$@NW9%&*_K$=2&XP?_1K#&C:+ ^Y
MW286\IDZLRPX5(MJ)(D+8@*VI-Z>.+GRF1N0MEO/10G8 )OK(0/ -HA _P?(
M:X4< (WNB@=E"P.6G.E0UQ70<8"Z8-/1R4).;/0RQ53=T8+7MO Y78[H7:X#
M)[$KC +%7*:_Z*QM.V:8G=2^&?;F<X:7^!V,)71(M/*M7*L&ZA(7FXH3O]EI
M@$SY=S#NBX3W4(=)2P N^8A5GFL*+;72MOV^5_B8R6,-4%/HB0&.B,Z;\$XY
MPMF#'/H-8-8=2@C6K;,B"!H99X[<&IV0I=@NF943'XW!X-G<YIL1YY[(3Q1"
MH_>EH_(O;-L--2ZSP019N.DZ"$[T^#O@I_.@^[CE"C$YT5D2!)!P;\^]DL.6
MV><IK)"15976$9N[S@ZP( EBZ6L?4>-\@F24Q@(^7.* B6&3PL_&TZ5H+$(+
M#&V*87U<DB;"V#QR>SGGGMK.LLZD;B-92!RN)^Y-2#\TN/!6941RK8%-'814
ME^9\LJ$Z) ]4T'RC6\((AF8[# .KHM7)'C"+"/;9]M4]'3FJM_4\7(]"(YR"
M 9N>X)+*SO*MW^"+\_A-1DFV:)S2W5&2B]#-_+IV)A.%W)!O^II]TYMO*+I2
MX@2>7!=\=/V'[G:S-;SHB2QEX,GVJS1:AGJ7.5R/O0;,E)3_*7,<&K92(*$
MZGZD1D,1N<;H%_;!X?61=7Z%.A)FQ1G>"5>\LK<9)%W&@@^VA^MFU1!N8Z<U
M9;D4E!QD+\3B*P72.L$54YD5+A;:""4 JY)Z<:)EE^N<O7BE+JM2>2<CQDH:
M@0K=PJ!&= -X?NUZ7V5T6>;NN 7ER;B"R?M4:>W509=FS':?*M93P\516",U
M='67S=7-+*MY6-B;JC4_N-FV*FC.0383GDH^\5Y8#,E$XG>CL< +-E[E*)&*
MPM@6J5%CXKF/)=>!CGPD,]L]->)"1=)<%,?T,:4R<.ZV#S8PQN#X03 !?E.P
M9[[>L>*K-V-6=3C("03,:QN9EE@DK:0TC<6\6P"OJ#+]1^5K/]>P'WT6 2PP
M@J/(237!:)(O+D%'!TC/N3LQ=E2+MO,;1&R5EE[2-9&@%H,D9IT8[&)*-1/B
MM(A 1<5XTN?AJDLP<&6$W803-J"R+8Q;D,23F*@)-IQ(@(4,C/F(IR>GQ,:(
M2[188:K*TH4%&63,?=Q(Q-A,-8M[#&M9&.<*_9'.V+/&X$S.F7_Z\[U/W"YR
M?3B[,ARY-MK6Z#+!24(YO ]_T(O:&9+6];-P<K9+1C-JO(P_V6<%K(,CA(AW
M+L\OY&'T"]%,!IIEP:) H6AH-L%PM.=!@W.V1A9_:$R'H8?8UAH+N73+@;K"
M#;8C6M<6S2.\6^MZCR:;MK4D/_DL?_KS/=Q1D3;Q+67EOR)E)<Q_L*;8K3:I
ME[:RQ#9!J*H&'V<+BM#45KM;*[#P9B ROOXQ<R^J_Q8ZSQ4ZV]! 3^0$7?=M
M4=')A'WE7KC]TC=M:/'.E8D8BVTC2 Y/\&6YB0""D1W9P.Q^K[*811*6BINU
M? 41&\XV9P5O:(#5<?S@PZ%/H,2ZE**C(+_@09!=*J@BY=UJ>'09!KB[9$T
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
MD?'W\4->W.FHB?UFF/+*$N4#<XPK8R+T(C-8LNB(H7)D\AR1!>BNH>\[&/4
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
MDX%&."B!8J"6@3>M A7":1(H!@)/\IV10PEDA2@F6LY]87S#<NZ?^BN(IXQ
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
MG@SC<\974SH@7\FT*-*Q?5VBXWKN;Z-86WZT%]KZ1P:_^8'?E+X,#@NI-=<
M^71<.=!HY6K" 7,".ND@#- 4AZVP*E<(O#OZ98]UA57\_OPEJWCU5+S$;Q2!
M,)4'!(PE1S8T+#70=$!(J#T5#MO4>@6C.N*L&BK^U%J#OWWVZEGM=7\XB@0G
MZ8KN3;S74ZO:+#M+\+<M45<1)Y?@J+E>KVBWD&@&P/D!X)3>#2)$-N.4 Q Y
M VC4):"0XD 'JCTI$J%)JH+,ZWQN#6ONIB0KY,-YJEH_+^=.UOK%:GVYS0,5
MDDGKHBG#,:#"RVC9T*CZA"$HC#$JM7E 1-21*,?OJJCU3\?ODZIUQHL&_6XW
M'4CO1'T<^.%HV:Z>IXJ!\V(^S4ZO/XC(UYC(,X/<3" WI<&#1AYR!RF I'#?
M, ZD@@Q(SXB@(8B 4SXU+!MV]TM0J@:MR2I=&5J35?J!*EWB+4Y++PEQP"$1
M $U5E(WD&BB&-;*6"&)-5&D\K^94%>,L*^[*64&WS?J#W>(\-XV>[9ZGF7LW
M;K2Z-1H-.N9\I$W7M_LW:>POB,QVW[SP<THC">HE@^D0!F2& &J]!1()!805
MF!HG#2P*O$2[#SZ\E<2LNK4.#I_UQXO%^7PR7BP;+\K-S(W4.D@(E$ :4.$H
M4-Y08)%3& H!D9)CO&!JX7ZBBKF**LRV]MI;;VMO&UNO&F\;[<;N06VKM5,[
M:.]M_[^_]][N[.X?7+&OW?<?&NW#1;B.[LBLQY)Y0:(H7?\\*OJ873_ \JQ<
M'9-_W=/H>-C4K,U^,R]^>JW?T5;/Y8C#(G>2KV7FB9'A F()%#0(4,X5T(%A
M0 A67DL9;"#I  >ODX=''.:H2$MVUV48S3!:*=J>8?0Q8;1$R(6D7 G) 8<\
M$G(;?VA)/5"8,6;BWY2+!CSAK$[0G)V@2X'1@JL_+TS JZ-VUXY5G^K!ETZO
M^&YV$[ZL3P;BXZLE+OCWL:]I:\?):BE&V^N/TH'#0?QSKPC8?AGH;NJJ-:KU
M0VUT[(>^MMWO.=\;>I=>%;-89/:_[O1TSW;BY44KHM/X7,-G-\\>7IN0R3 (
MC^,\ZP^+(DXO!KZKTYG%E]\[;G1\!1W7/C61+/SU$6WB",Y'O_](5:::W#J&
M>>UG&FT!,E+)J!K!<><XI3Y(*AF+U!$I;C1U[#-2&U<?.A[\.K+_Q0,S\/IK
M)"KQ 5_H[G=],=QX?G,%QN5W?=+O,%\GY\-1)US\?L)"6(QM&"=LK"(1C?NI
M57D4=-1V/TA7Q>'HRHRE=CQ(F];__%ET$>S:"1R2'FVG_2ZJQW^>Z\UIRZ*"
MRW><W+IWT-[=KVWO-=]MM0['MOJ'5P>-G<;6?C3>?ZOL57F([;W6SF[K8'<G
M/D+K8.]M8V>KO9O\#?&?YFZK?5#;>UW;>[>[O]5NQ LJ_SQ_?>CI<]>)Z/OO
MZH^UT8O[1_\\WL,-ZS7_P_JXTY[YP?B4>RUN(OKG4Q3;Z"_0+_;M.-"N/AOZ
M%U<O7E[U2>WTBJ\K/O1RLM-.=HJTV=[V=J4)&;\] 4&EGB'.$PY.?&V3+YY
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
M2M.'N=FV.>2[9H2W>MO=+ZI[/<H;.C^\ Y=^T,\@-!L(E6Q<CKU& 6N %&6
MBFCH2L(PL%1XY(VE1)F-2'<E1OAE#O&NK^Y7F&QD>_=^REZR=PET07DL *,A
MTE>5RN(3&P"22#GM+=3>;6PJ4B$]?^J!W=NZD"S89,JFE]V.-IUN9W1Q+7=O
MN-(F<$GS?SY7RH;?VMMNO!L_^U;/%?=YUQ^.!G[4&10EBUZ-P]GONG'",U[,
MB!<'?PZ_';:WR%Z[VTVAMZ,W#1B?DQY^>L^.3HZZS=/6UZ/3W1_-]N[ET4=)
MHZ%LH(4.13(A DO]Z)@'&G((&%,.!QNX,^G<3R4,Y;Q&G]X:_='<^?!9QLW/
M(&8 IB)$,SHH8!QT0 5JK2.$<QW-:/0G,_K_YAAQ#ARM^IZ9LR?O!THEJYI$
M<3.H!>!*QIU/^ @J$BM@F;8L[C]>4K2Q2<L^XN7%E7+TN'H&=0:!%0*!LK7-
M#-.,.."EM9'^1CB0QBK@)-8,(6^]U1$$5(5 8.W+KK3[(]V]=3#TJ9=AF<4'
M>N?B6"N"Y]5/_,OGW.:-U<WV5KD'B*84<D<)2$7M 756 N.I M!)2UR*[SN9
M#KH16/97W+><_9U*S*U*=.0I(\-R8B<9&1:!#*4^%XAXI+A%0&D2D8%!#F04
M*A X90$YKRS'"1F$*,=-JH<,:U_ZXZT?#F\1O,F)N$D!$'VM7DX*EO1N5,PI
M^B:DDCFY*L@C%NU8V#V>3FV/JX*2=UW?V>)9VZR/:A@U<4'^XBIW*U*6J<H,
M5*51-F*0,%90&XT8%NT7:@(#"C,-.%%.6,>@12%2E;+':96K+&9E?@0[)"OS
MHI6Y9'<(J A2S(.@C (46QSM#BNB1ANDJ<=&,YAJO%=#F>=D5ZP T5ID$;5U
M,Q^>?!#PT3(![E\J::8RLAG49P#U9IFA04F<A,$!K42JI^9X2K?7D:M13[DE
M%!);M!NL3$@PYP6L:EY AH0J0D*9YQD2G)(6\-1,F3(L@9&2 D0TBZM$&FTB
MSY/E+LHY36!AZKQU&D<_RKZTQ\H>6$7(KX:7;0KN7Z%XAN^YP_?[,J.S3@>)
M#01,: \H90I(Y#0(ECJL;(1S&=4%E>%[?K'!5?7&K14<+),!9A!X7! H<3CE
M):-2BG2()(( HA9(@S3 #&O$$$9,I%H,#^9PCX($:Y\BL%U*_RP1O7'']/XP
M*D@M7:Y[%T_9H?>GYYLLR$D;;Q(7GNN?IZDL%N4#<'Z%.V#-<VJJO?55G@GG
M#+GY[7X?IE!@*"B55@,"N004:@J,M!(0'SA40BI7E-FM8UEN$C%SI<QYZ-.2
M?:$933.:5CW@G]'TD="T9$MPSJ 4D -ADBVA" *265+4'Y86,L5(2N*I2S*'
MNL/+1-/"SGA>4.ZK8_/7"K!<NU<*3W3"Q40?-_]C!L\W;QZWO\OGYJ;'ZD]J
MC),:W[3LQH;%E33&TQH'TM5G0__BZL7+*_;=Z17W*S[T\E0/OG1Z5R)B9V5#
M*CWQ^.V7WSMN=/Q"T6<"X^24F)AQDR\>OXN>%?Z*6TMD_!Y^)A#^[;OP&?KM
M>_]T5\6>02GO=-L_&)\/+>MS>X4N">/O7BVB2D9U<<<7G5'\*GM'CUCH]T>]
M_LBO\E[P^J1YZ;ZV+BT\/&VPUN5[<GAY?-RZ_/BUN=,@1Y\^7#0O6YTXON[M
MO>#P4WP'OR>MR_W.X<E7TMIQ)WMO=DGKT_OOS1/7/6HW+INX@0]//X;FU3YP
MO7$V%B8R:P\0-0)0"R'0A&/ O:5.:V\QP6DW'L_Q?C_)^W@T.GOQ_/GW[]^?
M_3"#[K/^X,MS#"%Y/HAO/[^ZMEQ8:ECKGQ>UHE*M/PQ?;EE[?GK>U2/O:OTI
M[523VZ2X%+U,?.!G4:J^B0MQ<D<]\#5['/%K7)EY<N<#/XZ>I2H_VIUV>IWA
M*/4VCC>=U*CZ>>/OG=%QIU>+7U_;[O=<>L^E5\5.5 SM8!3_&1>^BF/_U27Y
M6;$W7CWNYHU]\9\WG@G>IDWO5AZ:]<EA>K=MZ(YW>43@*7:E=IQ);>W8HY6$
MD&9G+*@XF!3/_#+0W=J9'HSKAAW[X6^G_G6GIWNV$R__)81GOYV0R3 (C^,\
MZP\[24HO!KY;"'ZR;TUPX]JG)KL>_/41;>((SD>__TA5IIK=POAK/]-H"T"4
M2C(#@^/.<4I]D%0R1A!!BAM-'?N,V<;5AXX'O_:$+QZ8@==?@4ZE$5_H[G=]
M,=QX?G,%QN5W?=+O,%]_)$PAS&7"Q)0)&ZM(M"+Z8PU^$<FJ'Z2KXG!T9<92
M.QXDR^M__BPZ$;6M8'U1CU(?]Z0>_WFN-Z<MBPHNW[$'?.^@O;M?V]YKOMMJ
M'=:V6CNU@P^O#AH[C:W]QN[!74CX4A]B>Z^UL]LZV-V)C] ZV'O;V-EJQU\.
MVO&?YFZK?5#;>UW;WCKXN_;Z[=ZGZC_/7Q]Z^MQU(OK^N_IC;:2-NW\>[^&&
M_UZ.(131[AD<(]ZLEI!@S_ =;9;9WJ.*SMW 0O$QT7T'M)3!DGE:@W<(J_WQ
M4G47DVNL4(_C+I1W*V@3]R-?:\;KCH>UW;A-N8*7-O7 'M<(JI>)[^-,YS7W
M^ Q'VJL]URD@=9<H\%T>^*E-')ZV$&_;!L6,5&)MSB*GQ7W?'_3UL1( UBC=
MM\3VQPDA/QE@[?7^7K.V]VYW?ZO=:+VI;6VW&Q\;[<AU[U</8O8DW]6\Q]KG
M#%V55UA$%M"#S\.L?EQW3>.SB\MV^74:.Q7X3/Z%3N\\SN O#VB\HGN>)G6F
MTSRK$-IM'5RY\ULGS9W77X_:NQ=[;_Y[$J__WOS4.F[MN$[KTX?OAY>6[+5=
M?/_++W?^R7\[>SL->+3SA1V>V.]Q;)='GQJLN?,!'9T<DL.3)F[M?,#-3X?P
MMCN_>=J@S9/]KWL[W4[K<BM>%\=^\O5[J_WQM'7B.LW+..[VX8^CD_W0.H 7
MM]WYDA)L,(5 0)7<^90"C1E.,5X9UXA!DJ83W74DR@TG5[FC;,:W=<6WQ>6?
M9'RK/+[!V_B&)?+4,0$PX2:A&@&*17S34>R2:B<LUBESA<ER-X6EX-L:&3:_
M.<=XLR_0P$>=L)VN+_H"%8GO\:\V==0]&_2_=9QW-7-1^^L\Q?HZO7_7^F-M
M2\':U.>B,^KX83:$'L$0*I8S$55>6SL^^,&@6"A%7<61_N$78AZM>>F :M@3
M5](<[[MM_6-WG(HQZ0R0-\ZY;9P79<. 2..-"Q!8;36@7)*X9_H (J-"RB(H
MN?%% CUY2(G9ZAD&6;,?@4G_4;.S\LZBO"76:Z%F E()?(C4-ZX$!31##$AL
M3,1I8RSD&YM,E(OZK#+G70F"<A8);Z>P%A?*6=>S\.0RJYQ=%UVF'O-"K[WM
M,O4001(M=.0:<5-))6,%D"X5)!/$64N@DYHFGR2#\SJ\OJ+%*M9;@^=>DB)K
M\((TN,0_N,6">,Z , $#BH(#2D0+@BCK+".!04&2\:"FG!=;^;[>*T!#MDZ3
M?_KR_C3D:1M1RZ0AU[HH]@?7Y9@1;6Z(-B5.BN-*<-PI0'2*CCHM@:):  B]
MT-Y0+QTM>G$]O*!.]HE45YWGSDFR.C^&.I<("K'(2.<E"$)$P\*B +2-)@:B
M$:6Q<$I$P45UIJ0<%JQLC=-*EFEZW'S.%>!>N_][WAE=U#J]JR!5/TQJN/XZ
MQMCI??.3&&GV$JU8]"H,1X,78R&G5)&QBWNKY_;]J=?#\W%SZS>ZT\L@/@.(
M-Q. ERK7$R0),U$T!'(0H=L!C=.O0A%KI>;8IR)/#ZGPE!U$%5;>^0>HLO(N
M2GE;I9I"4$F%E 28VZB\-K412B4E(&&:$*&MI'IC\T'EV;)OZ#X*F);WO\>9
M6%']AG&5#XNZ&(FV]>.O156+LT'*PQI=U&N1RO5&]>(*'Q7G;.&-AM;3"'UD
MTG+3"DTB3WBWUSN(XMX+[R;2?9=DNWLEU8QY,V%>HTQ8#%+6!RR!BR(#U!$.
M=!10)"Q!A52OV:.45%.1L'Q6W.IYCWZ34),5>"$*7"(MWBFO.'/ *^D!9<H!
MHZP&B$7D%9RA0-)QF7)*7&6=1FOD63D8]>U78'3*%$_EI'QOF!-M5B_"=7"L
M!_Y5DN+V-2%F[)H)NYIE\A&0T]!B#Y0(D7P@C8 ,% %-XEYC$72!1?(AY8,[
M_66?276U=>X!K*RM<]'6,M,('#%I"6!QI0(J$ <*&@2BA2 ,)D$)B2/38#F!
M9AD:]W;B'='#H1_57">%:SJC\T$^;51YLG%'"^K5^3 .=#C,<?CYP=S[,BGA
M&$H;N 4P()N.&7%@N/- >.$4Q\Q#J5.N+YQRS"CGU:R-7L^=EMQ-G4/GAW?@
MT@_Z69-GU.0284'&0!-H % + 2CE!!@O+ A2"\>)U-Z9U() 8H1?5DB7<U+-
MG;@@4E7F8]O'NO?%IZ2::^4!$C<;AZZZ'6TZW5PJ()<*^)4";^VXG_; 6]_Y
MEBJT9.J^FM2]T;,#KX=^QX__;?2NA+O5<WNI3\3^3QEG/C]'%F"G.!DA"L*3
M *C0'% L-5 04Q"L)YXB25TZ^8-Y'1-5(1*0M;V"N5E9RRNBY66NKQ4. FK@
M48BJKK %6E .F"-"*,:#2B=T:9VQ]:JJM0*\)I6E2U,]H;\Y]KE:F5AEE+L2
MZ*?.Z'C[?!CGQ0^VDFPSC,T$8U_*9$4QCR5G'.!T5IE:8X$Q(C(605F(BP$9
M%S8V)8?5R$'-ZEL]K^.=39)_4.-,5>:GXR6J0D-*LY06>.%H*B:"@98V>2DC
M62$)O7W1NA:A!Y_TRY'4>ZAKH_?-]T;]02>'3E>?JUP39H:U^<':US)UB82%
M1/S" &(. <4P .,E P)*08,@G" >88W5&<_9Y&NJT(_@8LD*O2"%+O$43;E7
M#D, N8\*K3T'*F5#4.>A=-1"I&URJ0A9D48,3\>ELC=N-7T^&$1=R'Z5->$J
MA52WQT(M#+%A!K%90.QD:\KY-BF4IR%:5RB(:&Q%$)-$)582L#32"$DC*Q'J
M(1"6'2H5UMM'H"33]#8SD_DI=8F9&,@0-!P!9A4%E$ &C$(>(,LP"<'!$'!B
M)IR6<]&K>%:_>GE:"\SH6EF_T)ATI<)(#^==V:2L&N]J_91KAO!Y0_B4N@/)
M2>1D*H_$O 24,@VD=3HR-$>\(Y;1Q,M2N;MR4DYV%E56LRL:ZOJ-AF<EGDF)
M2SS,<F@,L19(H55279:.[CK <5 V=?2@)A5,0@\^$9B3ZW/%RJFITF?ZXMYY
MTD_;AJX6!;L2Z+NQ/#/YFA]N3SGB:(5T'(9(OA ,@ :F@-)2 &@])9YIX<>>
M?87+;K%<>6%M]/H1$Z*S7B] K\L%+#61E*>D(DA5RAZ,&AYTRHGV<4%3CBWT
MA5],EO,'<V;1(S:#'?AOOG>>CW=5WG7TH&3*MY,SGA<9V69"M@]3&(NUV-L4
MMV.& 2H5 I*D6!Z7VB+A.!-R8U/ A]3FS<ZB)TU5_J#!F;C,3[W+J48,8HD<
M D2:1%R@!@9Q#JP3DIN @T^MG5E=35'PRKJ2ULO?,CB/O.5,7PSZW>ZXM/;I
M6;=_X7W-C%LDYP2D]6$SNQ/9[OMNZO[R]E>QB@R$\P/"PRGGO[2+9 8)P#GE
M@&K$080_" 1B)%IPU @*-S9YG<B''&/-3ID*Z_ECQL6RGC^.GI<(3P@&">LH
M@#+E5B..@/&0 4=5!'9MA"$F>6K0@W*K<P93SF#Z?=KXM1)4V1&U-M2MD/&$
MKV<\7PB>3SFWS[TD#BH)F*<>4!D@D(1[X+4QE*?^#$ZEHJ&J*F=ELI*O,F_+
M2OX(2EXB;1C9H#0W@%-)0<1N R2V$FBG$0X<$:-"4G(B*N*&?CH.JC&SZ?9[
M7\#(#TX?S&V>MKE:K=R@6\F;&>\6@G=33O0S99$VF &.92I&Y!0P$"F@H0Z&
MI5/]3A2%2J8<L\EI0M56\4HSFZSL"U?V*<UOL194$B"U-X J;H$R4 ,)K2$8
M.P^93<H>!;P2'JF9B%6U2XFW_*AF]? XM;C]UG'>U<Q%[:_SU%0N]<6]5E\\
MBN-;)1PZIC]P?@#BG+U(<SSL=SNN=C53*PB7RV1$4?S;4?KO)L)_=?$A2CXB
MY978MWY*/4/DW"#R<DHM >@C>F$<#3Y/ Z &26"\L\!!IY Q7EHK4G!.D3)$
MWB]+X<YJM$)NH'6#AFHPJ0P2RP&)<B%JCD*$ @]$A'Q /8% *^WC!.M@/68B
M;@@;FZ+.R1P*42\<'W+8[T_<M0JT44RON[UU\'?M]=N]3P>UU_M[S5JC]7'W
MH-UHO:EM;;<;'QOMQN[!TGO/_'8%5Z8KS8PC?#K1Y+C7Q!ERPUH8]$]KT6ZO
M#>/64>N'9*<4O=[KM;/4[;T^SA>\ZOF^;-MD!3G&,LV/*S&_CE(>=ZY[-Q'O
MNR3<K9[;O9)L9@\SL8<I';&CT(0QQ -JJ004(@ZDA0:$)#PBB-64;6P^O#!T
MCB175X/G?M8A:_#B-+C<)3N2?"J" ,3PJ,&"2& "IX!H[Q0B/"JXV]@D#SZ
MF</$]VE%H\\Z(]VM^1]GON?&[;%3T^P%$)8<7EH>8]$726S#=G_+1AD.?(:[
M^<#=E%(2!B(JF7+ AY3XAI$'6A(%-/;6&1&E&B)AX>HA5;QR<+C"VCM_MC*#
M]F9/YOQ4N]RGAM*@C!2 *2B2:@L@L3& <4:ED9914D2$Q8/Z.50T(EQM'G/3
M]6(FG>1KR<W9'W:2!)8> 5Y!V*N*EV6G\\T/1P4[W0NO)L+-@9MYPMV4$A,(
M&Z$T8<#0= 8=&@:D<@A8!BD)PDO#9#J#3F@9[K+W96TT>Z'>EZS9CZ#9)2(3
MD1JSJ,N (!UM%$8LT YKP&1PB!#-$,)%'JMB%=+L''J]$TE<Z=2]3J_ @X>G
M[LW17EVW_)P*INXUKL2>LW(6L078,KD307!(J %4ILJ( DM@I+/ *LHECZ*A
M%A:5$?F\*IY6)G4O0T-5_%RSI>Y-!8F, S/A0+GN!O=!($2!YM@D'-! 4V<
M,Q92(9V26D<C[T%-)QX+ #)!_!/OK@(OO%MNWNM&:ZNU/8_<O+L:^G>XQX)R
M\Y8WPJ<3Z-[W9Y,P2LK'<][D(/:*!;%_27 O%(<BW_9[7]I^<+H3A9FMA7FQ
MA-;.E(,^R'")C?7 XV0M2(^ ]%@ [B6#CD%#4E\;QNJ(D&J$OK)"5Y#O9X5>
MDD*7#^5$2!:.0N!UHOV:I+*:3@,KC!:(4:H-34EY=:G6\'1SM:G*S5CVO:E*
M#G!5(73=& [/=<_Z#'$+A;C=*96#I>/":@>H,AQ0& 10R!$@D=9:4AK%S3<V
M*:G#*:6#<_QZ;=1[H?'KK-Z/I-[E\BQ!1?7V' @;4L%@;X&.A@C0-BCDI=->
MIV,%K!Z1NT+J_71]E-4;<'ZT)^4";*>*6N>#B_B]??NUIE,R]4-R0[/K8.D'
M6E[W!_O^['Q@C_4P[L';_=/3?N\@B3=OL#-ML-/2/WDD21P1H"+9 90%'%]A
M"[A2/%AFL:$ZN0CR098UU=J%'63)6CLWK2VG=EH*K>8!2.XB+89: ".<!22B
MK0LV&.I)U%KUD(+,N8O&(X;L5X!8C1-SDFJGV&J<@P0CJ2U:RN/L1$09Q+>S
M#W-E?9C-3J\_Z(PN#H[UP!_WN\X/<N;5;$@])0,3"^R$9 *@X#R@U"N@-:(
M,A\\Q-Y!82-2DWRX9HWU=J'.R>EZ>]TK&3H_(K>_](-^UN<9];G$O"PC1G(9
M25<(!-#TR@BH@?42"H4\5P1N1-V5&.&7%=+I)WCVY-=YD^NG4$*GIWLVGSVI
MBOVYN"9AOTDP?WVU /(IE$5@YI0N8<QJP^-_0%B* ,4J *.@ 3CN@C#P:+(J
MOK&)\'R*[.<3*-4'B&5RIPP+RX&%$I5RAD<\T Q8PP6@A!D@/?% &D$,#X$+
M6C2#A>C!=>7SV92J.+JJRQMW0_"V\&WY'_98][[XVD"/?&W\NJB75]#*5".O
M>)$*Y7V+$- ;+;WJS)\/A*SGYC!WA]AX$>R%W<D2V(\K8*^7]HOT_]U?$M_W
MP]&@8T?>I3>V>N[F'ZY=V>C9[GF2P4Y1IDAWWT0)GL5/Q-_3PW1ZY]Y-&A;T
M>]GE-M.^TIYRC(%$9H"T8D 9&DUT2 )0FB' )8=0!X4I49%NSBT?\&[*MT+.
MN*>*)G.GFAE-5@Y-RBQ5.6514,!A; &5*K)4Z"Q0R@9,+*,>T3D6-EXLF*Q1
M\X_?.__<I*MBK3-OQI:S2I;OU7L0>KZ+3]YWY?:;$TR]CM-C[,[X.1-^3CF@
M(:'!&B8Y!\*BE8\$B-R, @X514A:XGC$S\C)JI&JDJ&@@@EF%8&"[ V<'TZ4
M>!8DS/ (%D &K%/991QQPC$@)!;:61R,U\D;6)FSYVOO$-O^'7>JZ5'-^"^=
M7B^%45/CJT*7ENT$6T$<G0%&/;+8.L=$.KB-7-!*,,H-XXA:Y;S\W$CHB?"?
M;-('@6;&P/EA8&,*5XK"E)8'8$Q1L\\HH 2T@%L,743' 'WB2G4IY]5I=T4]
M5.NMZAHI:JQ4G*A 18!2N/B22&]8-)6P*50=955?(54OT1U&D*$>*N 0Q5'5
MF0;:1+/(.\Z"#@:SI.H(UHFHDJZOO0/I'TF/CW]_&-WY@]EX[P#VGQ%QVC0O
M%1#_-;?H_<V'7YMMP''.HS',@Y"$*B8EQ]ARI>*.8 DBOM@&[A#3S-M 1;:!
M*8U/$<;22,Q!"-8"JI0&ABL*&(NV+X^H34A(C(]/*<TZYQR8*KG/,@YF'/R)
M@P)C#0T-3G%,F39*,PYI4)1&+6&4C"W?C(,KA(/EIFM&,L*T!C3*&=! HN4;
M( 664\08CW38H8U-7L<K@H-K[QP\.#\[Z_IT&E1W4P,VV^T/SP<^T>.".8=N
M_WNMTQLK3912E:HZDRA4US\W75_9LLYW&N+3*>K2F!POKIWISE(,KR= *]:3
M/,P]0_1J*;Z+*['E<U1PCKQ@2GD:J;VWECI@3,J^2@F=FB@"$+>8"T@X3GV6
M49WB!_<PJUX200:E-06EN2>:ED IX\Y,N%/.^F14:,4="$A%>P1:#Q2W%GC$
M#-/"0PQ3UB>?ES52(9MC)>B@[9_ZVDC_B/<<>.L[W_Q"T@_NR-C'<BB1]COP
M^76$[KG.3;4QOQHIL6-U:"=MR*QT[KO#X32O/:<JF ""]P;0@!R(F[<'''%D
ML7$*TG3"J,YXN:S/W7/5YJE'2\[MR#B:<;3Z^<33<#1#Y4Q062+2)'@%$>.
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
M1FN>. "YT9I9@@1.UCPJ5R&;^3Q7UO4,R5E,E3L\FR%YN9!<<J!(0A4)5H#
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
MBI70%A)H L)*(4+# QPKOX'EC[I[[F=$Y<S@[X;*)08?%$R'Q"C <:4 RFD
M$4BC*!V34<">>Z%226 BQ,-+ F<%SSB<Q70_?PJ%B'.M#.4&1C4U&C*+('$V
M\F2,^5WZ(-T+?3/ S@2P>[<!UE@F)=8:<)-ZA3).@8I&#* N2I1"IB R&YM*
M5*F<3E;>C+%93%E,535)%A=;R)OB0GQ![?=%1\"X,5ZTVE\OF]\_"R<5,D$#
M;Z/Q08.60&'N@ Q,&>6L0DYN;!(EJV%U/(4DRV+M Z.'WA5-1WQO6(3+<DYE
M#F>OIY@>UPMV<Z?Y501AV.YOQ:E+(]#==[KC&KUM?=89Z6X1H"@4<ON:/N[[
M_SWO##LC?^ 'WSK6C[>H?6_[7WK%78K=*F]2,VU2C;)K#'O(*&<<:*("H,A
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
M@W$[,C=J<ZW7K?\XM@(F[?C-_F<T]M!BL(9&AC",9'L(>F%DCIT=ML'*Z,,
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
MCR PJW^V_)N+=<V9 U-G3HW 4J^C$)26E,3E]PI'^[S'>V+_&+[;>O5U_^B
M@7=XUCS>XTUXW][%OX?['_\];GU\>][ZN#VSS[M_U#G.'F-S]S6T+1RWMC;/
MX1EG^Q_WCUH?7W>@CV1_:QOZ,;\>AV<V!N4PXEQG@E*5D+9&(84Q-=J!LQ_\
M@E(2"Q]S@;LEA+N2X/(<@&\F%SO #.)@-"(INLQ+()#EP2-B:<),D&!,N'N"
MR^-BWA.PTU?MH.9V=NGB8'@9\4<YDEF8H^\5EA=@AGX'EB?3.4+E5Z,Y;<5A
MP>:%8?,<HF@9*0L&1P2V*4$\*(4,=0H%3;6*G)JH4\;F>463"N?LDQ#I^[.T
MOB_216IO([5S2IU)JRS#R"8*_J3P'AG-%&)1!^:4C8S@M0VF%I P7$RF)6[P
MT[ORZ4>7AX>Q7_TVMEG_DS.  !OO8+L6VJ3'MUWK26WUNKVKH86QQBL6[*)T
MX7RN#&4%MP$E:D$7RLQZ*+U#C A&D\0F908ETM!4+0>#4A'L93]M_#-Q+A)[
M&XF=L5X9-XG2:)"W0H//J1-RF;'4!>58E PKSM8VA&1+3V*X<O;3\C7XZ5U9
MIN#1KWSRL>\/W7D'!BZ/!.1Z"+W:T3B=OO#0]@]BJ:VX]%[&R!I)@V'_Q<O)
MY(Z-C\UNJ*V3J07P<C2MQ<M8E,VR,Z<D C?:*>$Q8EJ$O(?)$,RE0S&X7)6-
M"&54]C($G:TNNT0QMR+8CQHG_T7!+K)[&]F=\3>LU9%XPU"4,9.GQXAL$!(E
M[14SE@=JP7)@^B[Q@1(M?WJAVIP95+D(:C5.PK1#^_47#:C%I,#-YVWY(77+
M\\J16\0 /1V5=9_9&I/<N0DG7[M["B.X<WG8^<]:<$;7[6:Q>?5UV+<P">VN
M[9]O#^/QH-7KUH>&>YU.'60;[1870W9ARG!.N!S,E12"Y2A1J1#7FB)'HT5<
M>:<2!G-6UEG(BLQF(?]J,MX"A'(U,I0+/!=X7I+,FP+/JP#/,[Z*(R9@ZS3B
M3GO$P44!7\5[I&+P!-2YMQK7AT3FT*H^&7A>4E_GQVPV^;,?"5HM80OAMQE#
M"Y. /2>]03L_^$5-^-+^$K^1&?SOJP04XPG%WVZQ#N;N=/C]6V;.RCX2986^
M.A33/P_[WTY:'T3D^M%^1C9!6U_8SID]'ZS]?J5+Q^TNFAZ_&W3]IW0=*2VD
M[VI.WT>2 SC:&R'T"Y#7V,]707/LTK2E.NQGW?5?;6VT<#@%&8+D/&:?0@A&
M&#'261[$)[6VL5N?E.VE*FN@T6%9NS%OAJ_)SDAW.$*),M0Y#-Z+]<PZ$Y3S
MX,!89J/VHVE\:":=3#$^G";/*=PY$^Z<G<U/V/J\-!U2U*K,"QZ12<PCX:,0
M42@F^"QWSF, 3::*2F#9],[R2>_1D>YVIP, D(.R@\K6TSRAKAHSX53N?!Z!
MSL])<%:)WH9J_=SI;>ZML3=CS7D43I*58L_XQ@^3S:<;DI \U<'8BCX>N]B?
M'H^KW")//E3_SK8[C6HW^L,NO/&@'3/78C=4[V/_2]L_:LC^N8=\5CZB<XN
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
MCD>/+1B 6 :.M2/&X1*I6RU8OW(T'6!]Z^VGF#RU6D04F&69<Y4@34E"*;H
MZEMR(6NBY(;6BPK5+8WI5S!B,=1#/@IL6>(.<V:ICL0"%GBA, N!IF+ZK1A&
MS)A^U(("P-PAY1A@!,^F'TT&Y0.75'-P%3U>VS -HQ;%,58LOX=-MGQ4K!F=
MB%QL48M"57O3O5C!<= :RQ04-YEGVB=A,+781:%,*A;>2J%W^YJ%M[OYR3"9
MO):9E#H7BO<Z@0O/!&*:$,ZQL<D!>A/6X)@N$<%MD?1%$X8)'B++MCX6G.!@
M/([:".)L,A$37>RT%9/T&3LM.G#EE,*Y1B%!/'*&-&8186(TIY1Z'E6FP,!\
M41&Z8HK=.@AWX[W8Y8K&+4N)L6?L:,=(//9:>>7 :./8)D:2M$HGFSA-I)AJ
M*P7@Y[.F&C>)8FDYDCXDQ(W,I9"808[') BG.@B_MD%Y@^I%U3\JP;@GA1%:
M<D^",8QIQ9EWCDMB31!,NUR$!!<C;\4P8C88QUA,6#C$4EW9D%GD! E(,8T#
MMU&J&,"= ROO[ONP)1KW_*)QKZWKMT=E5ZY2A3UV'.X9HSKS0C@I@S0A<DZD
MUMH1A2U/P8C RC;L2J'ZSLM9RR^!BRX%$<B*Q%">5P0:6R <K(\*'/<ZNX;@
MAB!JM;-K"D;<4Y8N5\$2*76PEOO@M3$.QZAUB-IP4LY:K!I&S(;WM,$AB(@T
ML=D[Y!@Y[2Q\],D):S,Q77W60N(5S])] I;?"F;@?8]+]K%#?D\;MYVA,6#K
M'4X.8)I:ZZ6,-G/;&T.$+K;=2N'V]10[L.T<Y8DF8Y#%GF4J X5LI!K)*#T3
MQC-" 6>(;%"S_&?DBJ3_LJ3[Z*P2B1H< T]".TPCHT(Y:CVAI,3F5DW29\](
M""E48!(QB4'2)<B\DTHCGS*EOR742[*VH1I\88ERQ0:[O\.PCXHK/Z;I7]I8
MW!.'\* 9Y]*R7%656Y-<P)JFI'EPDALABK&V2A .QMFPV<9?:QC?W1;P[+-/
MP2<97:X>XQ1'W..$K+<2<4QR]%5CQ?3:!I4-O;!Z\#>3IJ<0AGOB\, <I9X9
MPC55/'AC%&C]0%P(G'FN>+'P5@T>6B^OP /]I&*RSC@,R. \@CD%>. IUU^/
M/(*!QREWF=RY@=6]!^&*]?>+Z7=,+;GU5Y>B_E:+XSXB<#?<])]? ?$N"+]T
M@WUSPM5%#LT34GJ_4*&H*+VE57JO9FUBX5E0EGD4!0.;6%N.C$@!1<DD%X0'
M+?+N-!$-ONC$Q#L)V2.'/@O$%HA=3%8GQT:$%,'2I)P(ZVPDEMJH4E1:1U/\
MBE6#V!F_@BI,C& .81%D#CLP9+3B"&-*O,:$8@-^A=$-9>[L5RPMPBZIUW%9
MA?NR%NITQ<B;%/Y;E0+=N6!@7?2O/3S/);;G50CLC["C:@^J!/@Q*0\XJ !&
MNH,4^_T8IFL%YCNZL)3@K\->Y<<0,ZCLL++52:_='=;%;*$;ZZ.ZM^-JX+EV
M[D&W+E0X>27<4M<:G+XI__'LL.T/ZZ\FCZ]Z;FC;W4&-H_U>9]*922W#7G_2
MO,;X;NC.J)1S+CM^=AB[5ZX?MH<@&">Y^/@@=^/*NTY/<L'?P_9)74%W7!!Q
M4BGQT XJ%^%QTZ,P??MZM=VM.NWC=DZY]7:0F2]'KPL]>%FW-[P<V7I8I\8_
M?W<Y3 $TR+#=N=JTP[IFL(_M+_G%WSHT'OX0<PGI.MGWY/!\D,6UZO1\7>UT
M_?;+==XRO]]"NEOM@3TXZ,>#NLF714Z?>473;=(\^!1"B!*#O>Y\](@+1I"1
M-B%MJ1*2)QT<O5ZKUDKN&0=3/\",.$UT3!*'9*R-&C[RE:AZVIHN89K7/,!$
MKG\ZAH!+88+/![U<L_0*6.4JV_"_4=G4P8K6-S5F76CV*^5-.5^G5-U+Q=!?
M>^H/*X:2=:V^_W5I[#-JK+C18Q^PVB<E3Z4B:W59C;6:*?>Y7.535ZL$Z"(X
MSW\Z$L]G.._$65#&<8&I1V4PK^[DW08QG\0ATG^F/?12([?4A'R(].I HJ;"
MNY02ER18^)E\--EU]5J6?<@%!<FW2?-BF^UO'7QM;GV =[[K[!\W17/WS]S6
MHYV/?[5W/K;:S8N#L^M!\N81M.4H?-[9>G76VOVWG=NX=_'Y:_/-6[K_IBGV
MCK?%'MV^V-GZ\UJ-W ^B>='\I"R3E/J ,&$!<1(XLL(()&R>9Q(B<;DF)&MH
MMN('X H>%CR\,W>[#-@;CCVWFI,H##94!4>EIRY*7NBB5@T/\74\-(IK&KE$
M,BF-N"(2::XMLBR:( $,93YNLE!FSX*'!0^7J>.WX:F/) AM+9?!<Q&QE0)
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
M,WQ-!D:ZW%$B%(V>)><X"\$22[!3VD3OA"/NUZ?Q7I=P#1AGAVU_>(DDPV\
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
MNX"LS]QV$7-DE!*(@@VF2)+,$[ZV(76#X043J=])C%:#@KB Z+,$T=OXKP^
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
M#6E1>TZH]R@1)X&H:8UR>784/*'1$8&9Q+G9]72WWF>I@'(#FDW"1?"<\?I
MQ,..? N$\*+'?W'9Y3%(X4WGU4F!CSLTBVV4[K+94$H)=D8FI1DW0FM)J9?&
MJ(0](VQ4U&=NIJBV0'>P0,T9H0+,HJ1.6^1B)M5. ;TF5"/JF=.1L:BB6EK5
M4L^)5#][\M_"FZ\G?8P'I$*. 8+E/,'1(FT79J%:F_T9SQ9^_NOB\MMXXO'9
M*=;!- \'5Y\RM4KQ3 MVA%Q<8SO_\PZIE_HL]W*_=[8RLQ>1ZT7[ ]D$K_C.
MMH[L<7_I7Q<3-,L..C_LMQBQ&]<X4WJTU,V1>H:<#E:)SSN @]C+1\'CV(5Y
MEF*_ERW7?]P\=X"$U1)\IF0?LM$#6_3?_[*KL^3BRKQ:ME!YM?+1\VHW.C]A
MG+J]X\5+G]U<W_BYT_E]?^?D\&";_OZCT?X&W[]O-;\W,!CK_<W/'TGSH/FC
ML;6_#T955-<M#=[YOWWLVW]W['<SW&PW#[;;7XYW<B+^YV]D^^3KCP;]R+>W
MOM$&_?(K7V/[H)7?H?U_)XW\[,>;6VMT<\N3YOJ/76Q,\-GG,X0GQ"6VR,80
MD6<,AMAQ(%/B<BZM"MI;$:0(.G$CJ>8"6%9*'GO'-/67\Q].I^ >&;0WWFLQ
MLRM.7[DH^\5/VQKF?-1!88$@ -3">/8'1;=7=&).1(('/JGTNCIPG/H4X=!\
M,M#0G-3TR%KR%]PP#%MQ,YT^^7A-8*&2?IY?8_9V@:DZHF5 26"->% $.4\B
MPI0HF(!@J4^7-48ZYF*D28(L<Z^,2;D;'H[8.:=P/OZBQFS-R+[Q\#?PIW':
M<WDJ8.=<]!$GOI >.5FLO_ 5K=+N^L,V& (0ZC!)N+Z4#_3N>GU]K,3*F3AP
MXPB^H*0B)5:HOEV>SMV^XX;//ZD(7I/<]X&>Y6%9G0$UEPRHTZA?I<.WC/R]
MUL$XG_0T&0_Z'(E@SUC4-V_9 9I0['6[X7X-<A\KZ>NUAWKO_/YU//<J-W B
MQ9^S$#?C8#-]'6]Q>Q$[O>]-@;>__][?V3H\V#GXN[6YU3AN?O]&-C]_@<_S
M];_N-[;6CIMT^V3G *YULO:K.3GG_W[?=^W0 MK<AG-$XV2#[&Q]XSOK7_>W
M\[M\_OBKL;[!=@Z:;:#3K+'^D?[?R<=!H\2_JFCOUI=?, 9\-T0C&#82N1 "
MXH)@9#U+R%).E)?>6Y,+9:AE)>95J_W6^O(R2F+4N/=V<&]>*:\U[CTQ[C4_
M7,(]QR/UD3 4<+5;71!D-<4H!DU$X"D1+@'WR#*?=XF+Q\.]5]_ XGNW]P.5
M'738Z^;MCG4>[(OB>'GV-CI_CN:NQKI'PKJ-:8ZGG61) :ECWA'$);%(BX21
MPLKQ)#65'K!.+^N%ZIE;*_2BDY=:H9]&H:?(B\<": L-")PSBWC$#EF)!8K)
M6&DDP42 TV:6I7GP9IZ7E_;^?/3DJSTJ0.CA9-"<.LO]19$3F+O&9.IJ*'LD
M*&M,<Y/D(P\F*033Q@'*HD=&DXB,%SI*:D/"<6F5JF5CY +U"JP5>M')2:W0
M3Z+04]S$8)&"8Q%)3!SB\"MRD6@4<73<)J85\Z#0?%F8![<&JYM_WEX7)XI1
MPB513G&J-XPL1C2]WC#R%/SNI=2,?B' _V4&DPL4I@R GXL P.^-1PXF#+'$
MN622,YSS0G4&_GF%F5Y"W?W'1,P:-.<T.J\&-^=.HVO<G#-N3A%FP87D7C D
M%16(4Q.JY L40P+G-W$KI5E:56)9T0>O1,Y7;>93;W]J.]G9MK/Y5=R_W38L
MR6^N@+]8.W74H^]!6(]NL'";=&CSPWAG;=XAVVXP^.^H<>"/X3XGC?4UL9G/
M^;Y-MD_^!@W^P1OK?[<NUQG=66^UMT\"_ <:?K)!F^MPC?4?(C\?H,%!\WON
MP+%WU/S^=VIN 7I\V8T,:YP$:*A@#'%G)-+>)\15-)YYX0R34_MRB%?*40+8
M#@('^DW 0;;4.6$MM6EJ7\X?W<X>VHJ]=I&'OMHN\#56[:.*1E41N'^?#3LW
M/<1C5[,]V\J2WVJCTX>7K:K%OVF)VMOE-F&)B4*)DYBK<EOD,.%(60 G3(-6
MP;V(RK65V ZRV(8LMB __;*?A;:;+NYB>:U%:>O](_7^D1>P9:+>/U+O'[FP
M:!U_=EL_JW8!HVK*R?JR50Z.ZZTD=4KU"XKT_@$/L9E&%<%?1,3BOHQSW!UP
MCV\?M ZVMYKM!IR?*PHU/G\1V^TO)\V#-=$\\$?;[0W6^-[ EZL#;:[OEYO?
MF_L-NGV\L_X#WL<? 7,M=]8;%-@J;9Z\+[</_*_MDZ\S"PD3"9PU]Y"1+$J4
M$PB1]9$#;S72,D4%\-FE5666-7UPU<UZRTB-;R\;W^85D:WQ[9'P#5_&-X=U
M8DX3!+8HXUO5'DLHA FVBFF+I7=+JX8L"SFO#(;GWAKR5.7%7G#ASV?=X5U5
M_6Q%VQ]WQ$K51U7?QKU>'+5=K'?#O 2:.I[,/_)<_E%:5[E:-63?!;)GE$PF
M.E"NC$;8JYA+)D>D>0 )E3!1CKM (LY9I/-:0%N@!():11^A\WRMH@]5T2E6
MI;B2.!B%2+(!\9!RHVCAD$XIM^[E5N.TM,H(72 5??7!OZWNP+:>>Z?*PYSB
M%PU9\V(5>4UUK1,^V,,2)K1"KDW7RGU/<TO4VEV<%[ U/TQS#Y.2E 1'1((0
MB!.ND5;&(2JPXT(Q;E-86M5X&<]M!\M+"8?5*/"DQ*5&@2=#@>F@4=2<.J60
M55XB+@,&9@.^B%(1?)#DE7>D"AH!-KP4%'CUD94_8K]_VB4=5&/8*P=EK",I
M=Q_)NS2HFMN*7[>SE_/DKH>]<<'D&N#N G S5OT4CL1RPY&V22/N,4,NP ]*
MG0D,S)/A-K=#F Z)W[XK51U=66"UG=M"5JVVCZ>V4[PD"B\B309I; +BU#OP
M3K1'5C.AA$S6<^ EA"Z(VK[ZB,M9FNQAMS>X;S/?^:0AW&/_Q]O*4YC' "VV
M 5A8VE9[JW.S"C.Z)E/,HB)<(1%HM6$W9#(7D4U,ID YC3I5*5QFWM[J'%3J
M9>1XU>!:@^NBDNL:7.<(KM.A0*Z =2N%HA<8<8L3LB0)9"VP;69)X%)4H4 E
M'KS8N3#@>HO&D8_5F>@Y=KMM=HJUX1X\PFB^"*LZ.)'E:JO;N$?4<E$.^C 1
M<%L8MZ(_=/TRE#97X%FNLK@\#*@M.U7C*#CR@^U8^+Y3??<-L"*&XG]A7N *
M%TXN_I&WO46?6VJVCD>WS/VH*/[M?;?7RYW)^M7?Y+=_+A?5GINJF=2@6QWZ
MJ3OL#?:+M7;LA-S_K-I?VA]4&TQ'Z:7%VB2IK/C'N8M?_G)RC^*HA.O]V?Q0
MO+>='\M%<V5M9;GX4 Y@/#O]"Q]^CZU6O_AD>WO=R><5(ME6L=;O=WU9_;5<
M?9>'9:T2'3LY/3_K^\9F\3^VURO[UUQAI:AZ=5UZX.7<E<N.WGNY:'=#F?)P
MYE<\[)7=7M&[:B_,Q3,!RK,'UX=+]"(<\[/;JS8IC@=X//W5TX*\PDFC>XP#
MS,=%ZL&,KL$M6P7#E>#P?.X,@9*S7P0>M_NS#/#L@..%O78+>" QJD"3))IS
M+ZG!T@<CM7984L%4M7>78$T8FOPR:UWI;,=N-B\7# CHD'\7AKTCP)A^[+Q,
MJ_&@?;R;7W:3QAYSBA&,<D+<<8:<4Q$Y(:C1'@>AU=)J I5%Q]'V+H/C\M6R
M![)C8<9AU#-(V#T0 C#CL7"5KL,)_<D6VU/M+X:'6:#^\PX$! >>/&:<$N(Y
M)LY&ZT)2TE%+%-:L(B!CZ3@C(!O-3]?EJ7\:OT+#_BK;P_;[R1,#+8%O<E+5
M*^8A]Y>HDR]T-W&EM(D*^8 5 LVER"06D&$P039*Z4V.VP%^@*&;8A'%/^R=
M9I][KZ.-5#NO.:;*"" P1!I-N&,*FYD@<=O="A,IV.B 9 ,178^C?S]U>W^"
M\'?#K6O,X#<F"8V3/;RYOB$:P$";6YXW]G8=HX%BXA&1EB,.?CR0R\!0(M1A
M'#GAUH%<B-EB48ZGH.CF/J8CPQ=_EMUAU<@2 "8#_-B@VTPZ6B5\.,&7^.]A
M^1,FHE-]\OCH<B96"8S/!9E:\QZL#=SU4\Q6-?Z1<6\*7S8/\X/5*#-+MC;7
M&[]V@P9FH U#&"L-*,,X<AZ@QEM"A3/8TYB65ND5TO1MY:\5X+>MENWU1U8*
M2)G]:<O6!3IT#:UUIQ9KW.OTU+S-)CZG;5<K0<Z? .]K=>'B:20'IW;R/!&#
M!SD5_.HFIX]X)O1@,W/O[U&IBHGE=<=C2YJ?'GRD,=%\5LF_9%,GH+K1^7#V
M+K7$ST33K376W-M52CG&7418)H<XD\#9E$H(IH"!,RTI=7QI55QA6 $3#\#U
MNL3U3^6R%WTL#P>C7L"CF0D7I*SB_O%7"2XA4+VJV?11T<J.16^TM2=?M0].
M3#^-A0LN-7$40;)&0MA?F7*17Y;__/Z,O)[IW92;<][I.BI;K<(!=<Z>+'BT
M_4%NW=T#J.@7KAKFX2&,5@33-;Y<_K0Z( _S7YN?OH[^.&R!M;.'ARUP+#,&
MC*K$]*_PM& 66\/L:5VI\QYL:<?FI>H+BB^\#<28@*G0/'#EK($?7+.(O8B,
MS5XN.4>H*\V_Z'J!M^!B;S.-=BB4MO5A?._^M$,&6G_JD+U1^M1<_X&;)WMP
MC\8)/#MMKNW2'$_EF*/H&$&<!H' !$K QA@S(&.CX]+JX*@[K?EI,NC%9,;[
M[X!G_[,8(W'QN=?M]XL_XKB;_-<<B5B&N843<YRE/Q,P<IVD'(RKPB\;G5P[
M*89.SDO[!YPQ.7EL'2]+YS\+T.TR1W'<\<U7__A^8VM];=S(OFB#_A>=[@#
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
M+:TVNX-8$/+H3;E.=7:][/M6MVK#NR@]N)KE6'L/MH^VZ4>\W?Z&F]\_'N^
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
MR('/A)(S-F!@U.#2 + <=:\6#7]NM$< LU)\/(4/VXM%!..7VR\4@VYQ:'.
MNCS,I'L,+?;PL-<][)7YHWQ^X6P?K@M7&Z%0A5R^9?O],I6^HAXKQ3EC5@7H
MU6_]"T_2SS?+5[\LP5E4KW[TZGGW,C16YQQ7EYB\37'.YH^\[^*OZ(>]<G!<
MK/E!]A>)41S4 :[3'L4;_I&?CN+?/G[=^&NM^IW\]L_J(08SWN"P"^3C>.R-
M_@3OI+K7WK ,,=OS?AXK.,*.!S-:4,,SWZ9ZA=E#,[YP60W+Z6O#V ^*5K3@
M!>6G:9>=LCW,KE%AO0?UL!T?BZ-RL%]]G8:=O 0!M 6>SX+RY!>NWFOE[N3G
MAE#2$_*^6W.FM@6?$?Z[&W-B.F'K@>.FX'@(R@@)S%U8;A1UV-D:ZIZ 0IU\
MY+N5 RLU10J;A#C7!.D8-=),4!*#LH&Z&ZS@%%[DP:XXU 6^],%V;+ K@!'G
MJ=/_@NZ$;OMBD/%^,B6C3][3J"3'7&%J=5)<*L>-5QJX8BU33R!3ZPUXGS7<
M//@&S[Y!-\%CEU4(T"*+F42@X!I9)CQ*5 F8%V>(]G<VII4QL+<C8A7V]^,Y
M4Q;*OA_V^U4,&P"\E^,N<"T0N19<JM4]NE7,ZP90ON^RP WGC8&8Y3C9X;B7
MT[M>;%6UOGX[*L-@?Y*N<>ZL\=/ALU.LZW=;8.RN/.7< _J8PX+/9&P(OS09
MYW[N]R9/<VCW(G*]:'\@F^!AW]G6D3WN+_WKXES!1)T?P%N\^XW1B90>+0@Y
MRF0 B.J.VG.] ZX1>_DH>!R[,,]2@(<- /P?MP@  W>H:!IPI RHN7?D?__+
MKLZ:X9EQM=<2)[L0."C&)J88>^]5Z&PJR'A5"/I>7N/%$/1??C^&82MNIF:<
MA)P_=/N#?C59;SKBO+<+ULO'$#$R4G/$;8S(ABA0H-+BP%2,RER.("]DI!/F
MMCB$4[L!1.APM.H H@337!&VJ7C6M'4=GW/*\:Y;32ZF%I*+HPBVU^:[M<#&
M]M_=S396Z_1G]JQ*"8.A:]G#?GPW^>6WR3I_V:D&H#KIMXLX( ZG:Q/F&XZ^
M/K,)*WAD%\;I,>,[C[]>J;ZZE-\V^DZ)%:KUE5_C%7+/[[CAMSWS1>1?W&50
M"4P'N>_ S6E0[_:P[%:7O2$!ZPX[M.]PZ/PFV$S=?D9R]X@^/DTJL[Y=1= *
MM!HCT/J80:LBW:? =2%_]85/T>,>>9?&T(LM$]E6W:8Z[&U>^#8%%5[3P-&[
M*,Q+$>V7?.2<BCLO;DWGT^;)F< ^1E'G%S'-M]]:\:8W9;V=;5</6T&>U4;@
M<EK!1/%R?&!A<B_O&1H8;;8ZV,.-]8U?.]\W2.-[@VUN?=W?V?H!SYNOL\<;
M>>,4G G/OG]YLQ4\SU'CX%-K^^#;K^T3+YJ?/[4VMW[PQO=O;'-][V1SO7G0
M;#>.=MJ?9C;1U#IX;ZQ"FA*)>+ .6<XD2MYZPZF.7I*E537GHGZO8@]J#6AO
M ="8L]@J&J.*C$O*-/%2)&JL=XE1;^^</5X#VCP!;:K@GN*2.88]<E;CO-G
M J#EB*D!<Q,8E03KI55N7@2@W9E$S^[.LK@D.F^A\#G@VXN#8:]33&*[#VB5
M<O?VJPO)JD^/?)T-J?ZQ6)QR(H=?*S'<K/(K)FVK:D"^-2#/JAQ-;.1"8(%X
M!'+)+17(48!FP6+R-$7B$UU:E7P*D/]9MY-[#=K[! 2JUMYY:>\4G9)4*<84
M1M&%D)NZNER+ ]Q%B3711D8>@4Y)N1C:^^J#CE_/-C]WXJ" L1[:7FE;1:O;
M?Y3.<@M"@N9#EV;,]@L!W*=E2WUX7_CM9N!=:W=AC$ZJ]*C-]#DGS/X!@AAK
MW+T3[OXUS9JD"L01YI WAN;"Q!Q9 ;B+?>["P9)+./?;F,;=^[FQ"Q1]JS5Y
MCLRIUN2GUN0I!A4"=X(&\'\D 4VVC"#CHT&1.Q8T%TGS )H\KX:,==CI%DIX
M92+B6XXXW?1^UY;(N[9*WFM?&IG_ +T:&_8$L3M0YC_'NGPN<[RV6W>Q6^4T
M Z4!6Z(30Q)3BWBB"AE. R)22X:Q-"&FI=6<L3:7AO+S4YYG#OW5,%K#Z"*Z
M C6,/@6,3M%_D9BTA&*4O /Z[Z-'V@*6@CE4*C!J!#9 _U\-BEXL:7FZ>?5\
M\:K75-+R?"&"6"U#5*4<VO9'K@0QL*U+U2_N6+M0)ZX=,3;9A+FFRBBKL53"
MYNPL0>AM&S]>O6;R:3@8]N*XE$;O_![S_H=AKQ<[@T]EAH#M:'LO'0P>L!%O
MXZAQM,N=5C 1!HE$..+1<7#EB4!6<DJ]9%H[N[0*@C*]D1QDHAR)1O[G#KO<
MPK"7BWOD:7[1Y3SNMSUU7)SA8?M3[U66H=Z?>KO]J9MKNPGH"(F)((5C%>9R
MR"3P&100%&=I(C'@5[8_=2*7]0;5>H-JO4&UWJ!:;U!]R5-4;U"M-Z@^]L#=
M:8/JRT]4JG='/G0#P6N/]M[Y_5]-,/>!90+?YI:B]C;=/OE:-@Y^WV]4)?Z^
M[H-KRG>RB]K^U-[9VCO::7\[@7L=7 [A@JMZT/R\<=QH?SQJG/S@S<\?<7-]
MO[7SO4&WO^^T-M?A^;>:\%[-U)BQ$N9=L)P+A;P)N?Z25,CE6I56.XT3S%T(
M>FE53+<OF?.6HJ=>Z'JL;9(ULKU69",T$1\X-B(O;[B@@V9Y[5]J;!E6JMXL
M^:S(-K4XI8W6*<2(),F=F0*-@&R>(AV]%<$2F+0<T'XQR/;J$]?J_9+U?LE%
MX)>O?<?54V'RC(H<UDMLN9,HX0AL4QN*G(X8)<9$--%8GN32JI[.NZKW2[X*
M[7T"#E5K[[RT=YI1<<,L9A0%G)LA,D.08S* 'F.70F(."_ 5]72^3[U?\C$4
M[_RVEIQ[<]@KN[T"+O:S]'&\M%LU?>G!3:JR](5MPPN_Z9!EO0/K"9G4Q8U7
M?V;Y_&LDGMG#_="+H:S]W+N@\JP:%,)9[K&+R..  96#1A9CB;C0DADCN8I\
M:;7>3/F*5?D):%6MRO-7Y2F"Y;S3QAF%4G("<443TA@'%#W6*O$HC72+I<JO
M/B@U_Z(4=4SJE:'O'(A4O97]:;%W1E&*W%L>"Z41(TD!>9) HT34B###-?BV
M-(:TM#JO'8%U>&H!%7D.-*I6Y*=6Y"D218-Q-+"(DLF;TA+%2 =E$--86>R)
MP)E$<;I FOSJ0U4S-Q_\HZSZ&?^S3J.[W=)RO:OZ"09HL8W9$Z^4WMJ:O>;]
MU4]ERF8DY^&8M\3FG!5/6-Z3*9 UT2,0>^IQ(E%+O;1*INM]WW[!9>X:]#(2
M]VHL??-8NECQU1I!YX&@TR5^>5**&HJB)P1Q;B4R3G)$1%2,.26T(("@#W8&
M%@9&WUB)BDM;EGMQ;]BRHVH4O?CO8=F+Q: '3QAC59_ ABZ,JRT.>\,0._#;
MX6&O:_U^_B[!=.9J!./SPJ7B%G#$=1NB^RO%I]MNB5ZN#IM4UCB]#1Q7/<\O
M@(U!;!W?J9C&$ZSF7JB?\?YX4E;CI6/4 RH$?*.-+[M.Y>[HD2,?A43<:H]L
M(@$%G$2PQ@NG^=*JGNX!D$4J"T(6GY7B?+$5VP$%+P^K AI7%%JYOZ1@9FUT
M( G6&"X8=4Q1S5@*+EA"E*W+KCR1]&R?;*[MFB $T3P@"80"<6P=<L)+Y+P6
M$B>&8::65AF?779E1M6&NL#*TNJDHLIYT:O*JO07WZ*=QX'^(:A,M]<OKE3O
M/,N7JU(RE;CPU'AL@*PJ%S476DNO78P\^ALLP4;STT334W_0>P>TP<7>9AJ/
MZ?DAK49T*9<" 1B".\,(]J-_UQFVCX#F]&/G5+GQFU-N?]+<VY5*22<B1503
M#Z8A@%X;21!S)'DG)5/<+ZVF\F><UNX)V3B/_".F4=5>V>\.>ZWC*K^O;UNV
M5\*A<82X((O6][K]?E6."3 A@CS[ZM R;S#J5 0)C$JROFR5@S(">;FNQA!S
MS*B0M(B1<:9-7BH+1!G)*0O$LCO5&*HJ"VVFKW$ )*L-MJ"2HKK4T)?=1)0D
MG GT_[?W[=UM&TF^7P4GX^PZ>T"&>) $[-F<H\AVQK.6Y5AV<I-_?)I 0X0-
M AR D$Q_^EM5W8T''Q))BQ)(X9Z]&8L$&_VH=U?]RG(L4 46."PCT[$[G+M]
MTW)&?I^-!*^'<<[]$V0Y9KA^8)F.8Y&Y9SJ^.W+Z@3_@AN6-'',1F@BEB\#?
M0;T@,77R"8AR$%$9Z1-$>HLS1.K)$B]DJ%NNP]F8OJN;(1/F<ZF%,EZA33)J
MR)G-P-*&[X"6_&=+?LA6HAA^*U<N\EV)0&Y=?0L;M$>$FR.$XWGPJZ -G[Q'
M3)K' /%SX$=TI*@R+1S/G<#Q'(E,._PDB!HPZC[R'5K0BA:TXIY:5"R& ="K
M*U.E#SVHIX#5[;\^G/3.7OR%5U5?SKZ]_W+^VU_VV>>/UMF??\W/S+^C\S__
M,OZ:G!G+P.KC\=F+WZ_??L:KJM^_P?SMOS]?SM]^\+[^C>^;?.S__?F/\*]O
M?R!VQ7RIT7??\1UCX'78<,0[MCT*.J[GFYVAR=SAR!VYMH^% ,9R4+FAX!6M
MA&LEW&%UCV@EW%U*N-Y2Y[AAOS<:]'R0<'[0L8>C?L?A/8;@8ZQOV;;)?+ ,
MK=[!P/,<K9E]:!5;IRQF/MMK:=:CKY2PG*#'/*??#_R1[?M#MS]PO5Z?V>[0
M'/5&K#4K'U[HSJMFY1?K[>>33XYO@^G(K4[?#*A?3Q_$KV%V^- ?.,-^$-B^
M!V9EDTHC6M:]8]9U1J;%..L%AM.S63 8>98!*M+H#7S+#0*SM9>:P+J]&NM^
M>_W)=QQ;P#H8/;MCNWS4&8T,I^.[YK!G!%9@#Y%U[ZK75FL1'5_@468([;72
MZM%#<>PK#[,5KW<F7M^>+@?<?&;"07&W X806$:F8W28YP8=S^\/N1W8?.CT
M?_C%_'[YVL+H-)=W]U7FT?+N7?+N4BC)"WJ#T<AA'<NSAI@WA1C/KM'IC\R>
M&_AL9" LH6'=52BIM8WN%-VF;4+=-J%^>-F_4XYK*_OO5?9?+-MM+#!,K^>X
M'=OI,_"-71_<8L?JN-SL#4?<=X8(]N%:PZ/I0=T*T5:(-E6(.F@[^P%G=F#:
M1I^-&#>8R?@P /\);++6@&Z"$%TRH(.!;XP\T^T,1H@@&XR"CN,;=@<D*"A
MS^SW[."'7_J]NPHN-E6(-M3\+JJY%VH@JO7=]<^QF((XP7&=_J@7^ /?']@V
M#QQ0DWW+L QW,&*VW_]$-1*W5/8-0$S(3_!$W'T6^MU8UO<VF7'-L/9>K'2:
M3";A#&N3LI.8A _0&X^]D&<OPLR+DBQ/FU*L9)^%2NC\_1G'/O\ PN)%-#[[
M!L]_\T"H_#M\^]M9[^_)'R! 7AMO?_OX=;%8Z>WDS'S[XO?^V\^OK\__?/D-
MYF:]_09"9?*Z]]>W]Y.___S8_^OSQ][?'UX%;S^?]<ZN/YFNQ1GSC X?F4['
M-DUPNHT^[[B^[_1\K^<:0W^I6,FRV-!Q#7/ 3-LW0-H,>J.>;UJ.-_ =SUTL
M5JJ< U6O%2<QT]Z$;"1KUVZN*UI=-W3K1.H3YZ;IC?HCSDWN@W@TF&_;H.MZ
MW+;L(.B#A7D8=;'OTL3/O7+WYMIIQ,+)@57%AIF6Y://'!8R2[2I7-,U2U,6
MPY(\6I(V&[.9QM(PXUH84TD:*)4P9BDB+N0I?)P$5" YRC-X728!'#Q0&PQ^
M #/. T3[120(^8ZL#MPP@>?PV8P )19FP3POS5FD:]?CT!OCG)F/6PBC81\&
M 0\1S;41R_ [&H.G6$[ +FEJ"(J'_YN!:0-S>PT_ KV'-"QFL>Z-M5<IS#T6
MB5>)M^//0\2_" /X2K2/2+64@Y[-53.)+W%R#=P2 S&$/@Z[9I^/LZQ\%1$*
M$P.LU22E/7L&A@U/\2FZ8<,*<^;ACFKO61BE"?.UI__U#P?,W.<?W[U_3_\T
MGO^$4LQ+.6BR#R'7SMALQM/F\]]Y+#%,# LQ3 RWS@I46SPCOLQ"/P0FT[73
M__<!J!9V:XH;QLO=@"_49N@:U<]PJDQ.@ <N^&P645FP=G*9<O&OI_@J^>-5
M#Q1;2W6JN-DH&(B>K[BL1A78+J@Q+J4B$'PPH0- BE>'T 1:6TM1:L.ONMJ;
M[J\HLC*<?O4<%O=]S^NZ<15 !2!TM+=)5SM]K1G]3G]@ZVKKP98"KPY$RBG(
MXQE5#K](\LL(A.$IMJD!&GK+1RG+OK"[ES*-X:R/*$5H/U:1]C*;X?%>AQ$(
M9#:7M Y/L$OX!5 VERU^D*"W 85QL/]:,'*&AF'9OFN/1D/&^BYGWLAUF#_:
M.OSYIN"T<EDG-+43T" ^]S\DYS#Q]!U+9_,:A@3B1W3\A$0M#M\4]_[^+>T/
M\-RWC\;YB]=?WW[[O??)#XR1;YA6I]>SS8X]Z(&?[@QXQS)\V[6';M\-ANBG
MZT"QRX 2*!R3?(85^9W/N7])A!;*CK/*3AD!$<5"CK+M\*<\S_=M!_[?B-O^
M<# RS< QS"'8T[;5&WJ(*F2X/? ]5],-88UL13022JBEG=MIYXO]B7M]UK==
MK^/)U$\/:,>$/T$B>X[C,W-D__"+N9ITPLF$^P@%@4)'B"44104L1,K1%D8%
MVVR2>9O$+=5L2#4PI]XG\'==[OM!9V RWK&-@=D9@2/<L?MFCPWM4<\>N#_\
M8CNKR6;*0C3LX/\R,'LBX<@G5Z#NV(TAG)V4T2TT\;J<PSM!PQ]X.ED&+_+S
MM  O>EQG_^)+[^VWR^NSSV??WGYXV3O__9/O#X?<-MP.MX9^Q^X-W(YC<J=C
MC;@_ZO<&S/#8#[]DX=?.G+-T,0XCG4^M;H*M#E9*FTL:1A9&'*>)Z%GX+.6(
MZ'C%2XB5'^OQ%NDI]LJ?L!&YLNM_LE3!_T#&G]%?V)W*?\=I"0!QR3NCE+,O
M'1; 9)^QZ)K-LQ]^KOO-X#17-W"#M=]J^0;!WL*Y-[G3_V2-F8LV3E$F_>/V
M4#J87H1BA:8W1BI1VOWS9_;+JA->&97<+LK8& ?&2\ ZB#W4_C*VQ(. >\BR
MFH\V ^S'.O<&L5+!Y1MK+[C'$6<.H0IM;9JG6<YBBN\Q[5V:3,(L2]*YAC<
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
MT49A%.$)(Z'=^[%_%)1]A<7-[6%O<-A?WUY^<KUAW_0]M]/C%@@^9O*.TW=
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
M7?HR"Y.R+G4MCP-V!:8R#H&:M>\,U ]Z_54_N$'3"N5#B\#7E\?OI\!;L0H
M;">1;MT&=1DDHPR@J\#Z$MFEP(#"BB\"D=(,Q"N3"?Y-JY'*D$Q,Y),CIK)J
M9@#B2(1QSLE^YE^Y!\=,\=FUUBU8&F I5+(\.D'BY1DF<Z#MH&(5"]>NRYD@
M9%AQ_"==2DFZB//)2&2)2/NE8IUX8H 9^\)C75[%*@I9(!Y%#VBX3&!KLBI?
M_#=Y$@G&3!7'<!&%%E=:PNA!F2L8$3.:\-4LHILQ#^_O,,*,RT;BI80/[)8@
MEP[V_TQ<3P-!T1W#A\4;ML5[8B$N*UZ37PZ?U(- L*)92):8&,KG(Y30Z%C@
M\5PF$A(D(<;H8JAXX7Y',1CM&9F$A":"4D3(8N)L!BR;7,?B2A5>L6P@"!%?
M3+C8F_)2$[Z"K2NO-&G;\I1,&YG&LT!LE=7=FAZ"R2"#>F9ITQGRYI V;/5Y
MH>; YKL0P7SM!$AO#G;^G8ND>IZ-==->WJ^0NBF8]"I,@7-^ES1(2O"T8F<M
M?6T>@R3?-N)VVYWE=FL3UD41GJ4<7EACQ*89?Z;^\5QURPECFBG]Z'F=Q/K3
M99  ?*'XN@QQ=GLBS"FK8>2;Y===^FHA(5E\9]M=N]]?^W6O:^SXG>W:._WR
MILD:1M<Q!NUDV\F"H[;1L+=4B&V1OWWKH^[2HRL*.<1=R_U4+3@;%2U\($_A
M3'@*+]%3(%%>> L;E)CML(L'L36G%-Y^Q!OP3D1>B2!6;,8],E>ECF(+P,1F
M[RX:8IL4<&ZRX,>V<>;=<N51[8VE765=K=VD73;I4>!\T0U:HT"\%BGHV(I@
MMUY_LPM=![9N.7<-G+-"BAPDI%=+RX=%RY8^-+;%96UIN:7E)M+R\,B%\IW
M/VU$U,T[7*-K/,3A-HZ[?WP("*B',]BKR:4/ ?=TS.)_U1(;+@1LW=S:\FX>
M3'E+= =%=*;>-YV6Z%JBNT^BTX?];1$OFT=S&QFLA]N/P;#WUM*D<<SVG7;G
MZD#QQGVUFF& JEH,MM&UZ%[=NP/D%M/LFKNY<(?.+2U];"1-W>ZPI8^6/M;*
MCVZ_)8^6/-:[:=UMG;0CH8^C#P*JO/;%DIPV(/C8W613MYPV--/2W/V&9GK6
MMAUN6IIK:>[[:,ZR#Y_FCCT<:+I;FZ!M//# XH'K;-$V-O@]NVJUH9^6/&Y*
M_MFQ^UM+'H^!/,Q=<\-:\G@,Y&%81M=ZG 2R8R.EYN$9+"W6,"4RS:9HZQ(Y
M;U?TP,%0@B%WC06@KG6X1B4><VVD?M?Y46&T".3SF#XW$.ZKP%Q9P!HLP 5+
M6&2F#6 J"+,K8#.+GRY@)2_B)#\4/#(=F/;A@>"1Z>VP.;^)GE.OTE# WYR5
M_6(66TDL8B(C/%6Y_>(SM?M%5XLM.U8(]*M5LZE3C@#H*Q"QLEG*XTL"]RD!
MU51_#6R[@?UH/DB8HW*6.TYRX>6R?\XTXHHZ\9-)'LW"#G' *:9,I(AC!*X1
MX>O#>Q&XC0H.CQPH:V-Q5(>8K6.O8_*7D#9VM_?CS3BXMZ/?FOT5T+<F0=_^
MMFH2)0Y5K6W #:Q#<*344RG.<L) )"!;A0U*1!AAV[1,ERB7UYQ]D5_AVVZG
M2 5=CH"LHF-$!7"\MGX)//[PN+Y52-_B?!5?TU!U8-5-9--JF& !"ZS H,J8
MA 3TLQP'\5^?4!2Q K1\$UGASI1@?+!'<JZU'11GNIZC'Q^>N]OBN;=X[H>M
MQ5Z4P'VREU<I%;9I;Z2-&?9MJAH?,<R0RK%DCY*A/AA(LQH;4=QH5X-L"Q-I
MUI1C9LN"R@^# /11[ DYJUIKBA=KLW B&PD6'9U>(%8UHAFBT%62MH;C#8=0
MQ3P%R<N\F6A"I3N]?E6-++4EJ9CC7>U7^!+V3"-3<BT:\!/#L/2^:^G5[<.W
MN;HE(<R'A'POL;_7R7 0_4#1^,NB]5T%0;?T%>#O5=,.CP;7=%MYM;8M8PN#
MUPS\LX,":VLGV\+@-1P2J(7!:V'P6AB\%@;OL#:N17AK8?!:&+P6!N] TDZ/
M#&[)1#".'4MN#@5QJ:7EQT'+1E_OM3!X+2T? RV[NCD\<K&\3<+:L0'A#8Q=
MZUQ;)+Q#+H)MD?#:@K!R;7V];VZ;]-R\@K"6Y@Z)YDS=MK>%X&AIKJ6Y[RH,
MTWO#%@>OX2:I8?;;PM=C+WQM@?#N$ BOK79MZ6.].!T\UG*UECXVB@!U=^QS
MT9+'8R /RWVL0(E''P-<!A^)P"AKHX&/W4M^:MG.3P?L'[?4=E#4-G2-EMJ:
M="+'3&VVO:TSU#R*._+X7W_0]L$X]O#?:M.S#01^ER(UNO;FBG13)ZUYZVR]
M^!UHH_^(@H!+3- 2R.UAGNZV@,"'2Q\M>6R]9T/KL6)F'B_F70$RM1:?X([
M[BB%F' F,-MT0[P[G-@?+/Y7DF3\-*DAV'GP9D+8@!&>.+KINC1XOT^@'Q)7
M:1EQ[0: HJYV+B#T5D'L/7&'X@6#;O]'O02_8#21,,[AL90'$?>J"&;9+$5L
M)9]/$,V$QU<A_*V H^B!)(?_26-".XF3%/Z 0\ //L8A+NUBQF8P%PG$=A3(
M&=]!@_^=U<&B=B5&2@':!.<,'A[8*Z'.AC]NBP:VAI KF#!(G S^*>CO*HGR
MB00M$X14X'IE)31CQ"^9-X<WBJTKL69@Q5'N*]B=$E_F)HPO\K_4I@9AFA4X
M/?C+$DS&L@7ZEVU;M0VX%?[K1M OQ5;XBD5,-H*GC.L,#;N&D\;]8?XDC$."
M30NO.)X?CQ%UKMBFU9M?0^0I203V(TOBF$?%0$?,>!5LIAHFT^T*@<"8ZF=2
M06,B#%*)303$X[A=\T?ZT#3@7SI(RVR*TA).?KZY-MC@99MQ7<%42CI+B2SY
M2?'141S\MEA%%S/.%Y :SV#3\Y2XO 4L:@92S4'!ZK23;0&+&@[>T (6M8!%
M+6!1"UAT6!O78O&T@$4M8%$+6'0@R4)'!HQA#G3P%HX;&:.EY4="RSV]-]RQ
M#*2EY9:6F[3P@3ZTS>,FY6V2#8X-L,C:.1-AGZ?;D#R%8ZY6:A&+VCS^BAC0
M;>?PD3Q:FCLDFC-T>VLCN:6YEN:^#R6K9VQKS3:/YHZ\8LFP!EL7R=_-(1V@
MW7FP-4LM9-'=\<O6%7YMN=)C(I#AWJJ5FK?6ECZVW[/^WB#/FK?6ECYVD!_#
M1ZM@CCX.V*(6M9[RRA+G%K.H4>=QU+1FZD:+D=6L,SEF>D-RVQ<F3AL%O*M.
M2>[6-]-M$/#0@H M<-'=[VGOT3IK+7UL!FS5ZPY;9*N6.%;>)?3:6&!+(#<2
MR./5+X\ O.AFP(([0C"BG&+" ,+TTRT0C)91B&Z'6&$S@6Y$Z ER_">.[AAN
M;;C3A.S/%4N^#>VHP&,I%\D0C2.<S7%@H-^Q-DN93W 9+)(H*Y\96K@2CDAC
MTVD$-(]/9+C4L 1160_BHOF\G/\K-DIQ!$(ZJIVA N#0\C@LEA-H3TR]YPR/
M I5CB9P-\\?;L#?N!OZ(\HEN@#\JG^X/E\&/\.+^QV7*7D0^ I*#\6"#%*$M
M81A)Q!58ZTP P93D#"<39H33LL '$CU(8B.)662KW3&D0.#.W$.$, J>E'!
M.^$3'2?5W0@"M*%@W0H)Z(FM#]PA"5+#Z;H_"D)$@#BSISX=W@% $(*SP1AY
M5(>]HDG)$U4DN*D8PHG>2K(U<J^@"^TD4GD):W2[9'W2UP?]82E@*S!(IV,^
M@2GC+#D0V@Q.L*NMI4M)&]8 B&>:",BD9RF/"%VKA-I!<)'*KR103Z_\"1ME
MP*BS]3]9*HY^(/HW>_6]J/YWG*K93-DE[XQ@;[]T6 "3?<:B:S;/?OBYMJ9)
M&'>J&[C!VF]E_B"XD\5O"P3U3]:8N6B@XX+__>$?H>,Z_5$O\ >^/[!M'CBV
MT^];AF6X@Q&S_?ZG(=B$I"Z ZT_AA4!7V3]_9K^L.N$[D.%UE"JK[@D]),+7
M#[^\"?^3ASY:="AJ3MDTG('8><^S)$^]2N%[8]42RK]3%/SQ_+_^X9C&\#G9
M%;$73F$A<AEXSE&YTA1$_PPA',.,; &/96-:/_V#PW-78$P"3>CBDTL>H]D@
M3"-I0H#PU0MASZY8&!%!>6S*/'P)D25]F7(P1:[H/:"<T":#)R)X1H$9HM8)
M?6GS,Q#'> 2@S";A3!@M@99/44H_,:R>#MM)X*7BMT]L5^^YAG (BEG@0*,D
M39-K0C^D]9.Y)_Q;9?/I6I://H.6PL$]4'TQ@]>!0@2#RJOHEQ7["R0]!P7.
M?3'K<G-)!9!.N4[2+V)W!5&EN+'"*A _JNZD>HC0%'U2/O"IST=H0:17H0>\
M.@)R4\]/V5P,)-Y7Z/R/,>K7=[##0>AI[V%#T@0LCPL^FT7T:G%H%9R_-6L4
MIX 3J.)D!B%LD8<0@* \$8T2H2X=.!1W($T40W>&[OHMIZ=><(]/1CRM?64N
MFC/X)"GRPDI& R<-T>B&P8OSS22MA;0;:VCMB U3/+T@B2)![,(-D#B[-9Z
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
M)EL]:1U9[G '&VL1OC7E4RQ40@A\>A_\#?;#&'%CQ89Q,#F2.>?D166PXUE
M93YA6C7\T2D8)Y%/0"\8>$[BF!,^J? 7<)+*LH55R+5=L]0_YHJ>"E>N;)!2
M8\"BZO#7!+8%'WD1 NU2R1[+9^,DA3?[DL[4(551E_L(M:1LPJ52QF0"Y"$W
M7OCDL:K6FZ6P1B;09)5EI[WBHS1'^&28Z*"KO:_0!9:O1>$DE(:I?+]X/0R-
MP@2&!(J&M1MFA\BR\&*)'/*88@-LDN1H37HL3>?X-- ST@2.%^3$E^)GY;2$
MO>NK9:J-(<G?U4[(SRUG>AV",!CQ*H;NJLTI<*&K=GX-*J*.9"RJ#246+[KE
MP,&(M[P!PK%>$0%** B :KDB9?\6;'&WA&MN1+B:MI^W;\8V;T'0C!FZ3.00
ME@?JJU#'ZG9#LIV$VLE%@88JX3)EDR,6.%4N13$K=G$3D8!5H, H$^9SJ2C#
MB>BY@?\KM[TJ-+!(,Q:UQ(*:8?(QZ370DU@]#).CN&'-/T25"B-*-5"795D)
M5(]%U)$4#[7S)X;V^91$ (@:[0K\9"X85-8W5WD8!Y/S!?_8X^NV0FR47GC
MJH<)O*6HLBUK:*L\+%\J^_>LH3C-3V!U<3)3Z/#UXFXJIR74>9*=U!+%PXIG
MM0.(^%0]+%%I/1>2+9L*A0\'XH<9%D&'<8["=28D,9S?%B&V0_=@7Q4USZ?J
MO)K/MB?KZ[\7+?0G!"5[X]W^ZDX!]%0%(("BQ:C:%,60@8<4!0IUUD$.AL=!
M!XL8M6+-J2AK+^)/HE!;-;(8L8CJYT$3KU\25;Y_#6%PL$"IH94U6"NCUA9!
MDVH8\XAT0IS$'1]L43A$#R81H]WLD6U1CX$7,XT0@2",L=I= B&L?1%:-'(P
M\;X1_O8S]JZ %XF=*2OM83ST*$3+AN-5-#?W,\FE_J&]I/ _A?[)JL,64@O
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
M"$(,HP)2P]8$X5HM2$"0FU),+=(BKUV^J6N5XMIG^2TZ,C.0*QIN8Y#=U/)
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
M\>)5]7%F^%/F&T9[!B5V_!*&DC)))D24,/F7RL?6'PR3@HYT'W:V/Y]P2YN
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
M1A6\M2;, ,(99F-%9,\+=\!+5L1<) . 2M6S?E9SJUP,K=EQX\;*_5;-M6;
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
M/WXHT\GI#_^<3/\8?@D _['X1\\GG[].AR>?YC\()N3ZWT[_CB8:9J4$R6P
M99B#8)@'M"Z@#2$8Z___D[\+BRI'FZ!D44"A1XBN>(A"H6&2">'<XD-'P_$?
M?Z]_Q###'VARX]GBVW_\^&D^__SWGW[Z\\\___97G([^-IF>_"08DS^=__:/
MJU__Z\;O_RD7O\V]]S\M_O;B5V?#VWZ1/I;_]']^>_TA?<+3 ,/Q;![&Z7(
M&C[/+_[A533ZI^5?TJ_.AG^?+?[]ZTD*\P4]]T[AAXV_4;^#\U^#^B/@ B3_
MVU^S_.-__-L//RPE%Z9I.AGA>RP_K+[\_?VKFTB'X_E/>7CZT^IW?@JC$2%>
M?,+\ZV?\QX^SX>GG$9[_[-,4RT;TYU.NH'2%\[_JI_VT-Z9/!&2:SB("_13'
M5<$;8KSMT_?'?/%9D+&$L]&\(>*;G]T4[^0T#%L*^,9'-T"[^" XQ=.(TY90
MKWWN%9SG(-<1UH\<Q3*9S7'ZMS0Y_6D![_EDG&G*F.F+V60TS'5__3"G/^N&
M.YN4MZ1RBYU@=C_X,IM/H6ZY3"X7^?_J\O%7YD#*,AP/ZX]?T[>K,2K>OF:#
M?\V1_FG^\8=A_L>/0Q&-#<SQ[%1048A0T&&T0OF4+/=NT&6@.JWSB8TFZ=JX
MH[K-3B[T8A0BCA8_'9S-X"2$SX.+#R5)X"OZ<C90,3LKD@#CN0&EC (OK:7C
M2S-NK$Q<Q)M:-3O7TA)F<:%7JR%(OX3X"4?SV?E/*H=BP=]F%$NZ=I_7>_R"
MXS-\2<<WR7 ^#6G^3SK5GY_-YI-3G+X:I]%9-0B>S69(_\L?PU\#)G)060?
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
M03%74W-T) ?/F2A6.-/\F:K'\2YQ:SUJ\5)Q%[)ZR"O<]LR>1ZM*?52S%%%
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
M7DC%">4EUE*-QF)X%,^X--6?%D^X="&JAX#&!GDL;>5J&"?)\LJ[]K[Z7=E
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
MKX+=5>'A>8 #WK</.."']@+7Y[3F!P87F9.,T1]912E"5,E%[7TLJ(+GG?Q
M&NN[)_C=$_SN"7[W!+][@M]U];LG^-T3_.X)'L 3;&HPUV31G\/1*(SSHHWS
M*SI7QB=#FF%MP#*?G;\B.BGGO[E'_F3WP1J8T8UFNF919^LL.F$Y>JFRC2&'
MS'ER9%*3$E@WV'W8/1_C7GW:Y:*1"7V43H V>7&ALK;?U@F$=#QEH4J1K=]6
MO@%B[R?&5Q_X?C(:O9Q,_PS33,<'<JY+!,Y=!J6] 5^O603N@TR>9\5B3_.Z
M N/P9L!^#-]X17Q/R?;QGOP*TJ "YR%[T$K6)R]3@!#)RD69K5#)2U=:'ZWG
M8Q^/UIV)V$!L)RGV8&:=XZ YX?!D_/QL.L5Q^KJH6Q@M#MWSA^P'15B=HHG@
MN*;C73(ZV3$DL,YP1"N<EZPGON]']W0THC$3/5RKOM!=[W/)WD@HK+H(M<5
MB,G4@A-C+-E;UO2E$7LW^;EXA_W\$Y<&I&/1>\\UR%R?N/&UO9V/'ARF0,9#
M2"*HQE/: .50#D#; ZN%7!]*BN;N+D@\&9\3CR"<6'@[M-8M,K"*6159,(*U
M;C/Q(/O#-6&\4VNX+I+OO3_8-F"^U=9PG8BZLU'8+E+NG7JFC%!",8ALT?,H
M$ZB"=!"FJ 732<?2^OA[Z*WAVC'>1;C':PVGI-=<93!A$?$29+Q+%/7J)]GT
M$K52V]6G/Y;6<)U8V:TU7 >1'K8UG"DE*;09A IDW)?BP!5-JHZ\").4#ZBV
M(OM!MX;;F>%VPCM\:SAA1='<6M"VOH1K"@='EBZ8**(L0NIM'R1[\*WA=J:W
MK1 /\[[!]E'>M;\Y2#1]PY@'#:IO,^^UV#H+I3X]8W5D7D5A(Q,%LV ,B\DN
M\ ZQ]0VC[V>CO:PBP]?#+YC71[YT<0-&*Q5FT-&$^LP'N;B,/!0I>*)5$ JW
MK9VW;7#M:Y]N'N/W&98S\O$+.6:QU(<P$J B#T\5G\$3IQ"E9C)X89UJ72JX
M#:[#[XS--67=HFU.1P_A_#N$\.NT!AN#T-H:C\!M-* 8TK:NA:LMD<@N0Z&M
M/^!266#ZIE1E!QIZ\'SOP/<LI;/3LU%]A?;9Z60Z'_YK$:T>E%K#*)@%GA*K
M;<(5.!XM609<IR)#SJ'U*Z#=47Y;JM2"JAX2"G<@?H/S0:$Y&VT2,%\O+@?C
MP'N4D+UB*B@666[],-+=B+XMI>E*0<.7PF_&F._ N0P[U\P85[Z =$Z!4HR3
MJX.&CE-KR>^)/NG6;1.W1W>HG$[OZM(3(<?._-27O-_3'%87*821UB_RJO5-
M1I,17.$(7F?)C'5!LZT*'.A3KZ@1?7>I0M<&/'X&IRV9DWV%VM".N0"Q"E9L
M Z-+VF8;CMM'@.Y/U.PA_'7Z]I!<CT1&0YIG> :6"B[3C&021V#<!S0F!OK?
M8R!P0]JE/7]=!-:8MW_B\.13M3V_X#1< -+"NX(I MF>G@"1[^NY4+5FUZ%-
MC.FXU2V#>QB\=?##67)[T3!I*</#!A%^_OI;^._)]/DHS)8I0BTP*$/NJ_4L
M@W*13$DZ5,#')(IEAL7<VD#K .^)GL%]$W58I_ 2Z)MP>MY,:1NX/15B=(1Z
MG%*-WJC?7L6:\7;8 ->ML'D1I>ZK(!-/H#B=Q\X*!I@P,IM"\JGUVPT/0LWN
M*0]YJ%K6A:X>M.O-9)PFIY]QCL].IKAP5L\SXXPSIZ*F4R(HDH*U&4**#*Q
M';$^S[2= =M!D3:C>5"1K?V)G/3"0@\&U+LPOP*&RYA8X0:*E31'I"42BQ)0
M&"^*,\VM:WTGZ!J IZT%N\NZAXWA_(7U][BL\9]]&GX^AY:9%4*3/9]]C<J'
M4MM#6OK6"6&5P\2;7[BX \[35HI6//3QBMTT9#P-TS]JV<WBFSKG<W#1FLP+
M.C#9UGHY1QL73P$R(>.(V7K;^OBX$]#35I-V7/20);FHK_SZ<YC=(HS5(ZV2
MI52LHTDS1QN>8>"]%H#&^>"RU%8T[_J_#; GKCC-N;FI0&I?!7I;RF^DVSA_
M&;Y,IC78\!H)[0J<RPX]+Q8*+S7&Y&@;%(D.3D[ZS1AMA-@Z<',GH*>M,.VX
MN*DHNH=:RV<IU8>09N]I<L,O%>^;,)W26?H%]ZBFW.)3&]1+=L6^5A'ILTDL
M"L,"%A58<2XJ%RPW4M!4E!EL\?E[!R_". W')Y<C/!N-)G_6]ADO22^GF(?S
M>G44K^1_,\\QD6:"S=* *IS7-Q SE)1U\*2@!5MWY]H%Y]ZNU73R95AC%S3
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
M:G5@J4^5>C7^?#:?+23 5T%OD0M*JR34]Q= V7I]76@-G-.75L1B3.LWLNZ
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
M$":@%]PKG;E&BX7<!("U .I@ DP*/[\6L-J?PJXA.=1M*]6?@53?=:NAK8,
MSKL+%4M[&P-<+.P(B!JQ>JI8]^;'R?$0N6D05)I3W+*]=K;"/$?2.JA-[B6(
MD&M9:MGQ:($*;N6$5&HI+34A 3%*P@'.HHJ35\P7X@:K:'):CU[ +M4[F]WN
MZA2<:;K*GBTW-5>_E+F'5]'T5'29[&[Q' 4=#UNEKC_:?%%8)^M&[L9,&<%>
M7I.P[CW$=]>N7]OSOJP,\%@N)5>-WK)Y.]\=<F<JQ6F5EX=C5P%P.5"V*M+/
MT;_TI2V$R.IE?>[AF1-Q'L79>1^>K ETGONX-BC(3'NAE1EQ0)]*N%T4YO[K
M2&[]24'?+8[(P\VNLE//70TCF*Y59\M<_7BZX 9RLQ7#'DE:NJ_C#/40:)+
M97;@W*ZW[G\/O(.771)0T?+E#]#9NN4)LM6)[XVM,.94#R[B=UB@1\>0S1VN
M\3"! *[9V@]I!G1?J8S'T!V1K#.\29YI9U5_2&6;?>G>, X=CR<XZ.2;?+ -
MY._*O-[UNJ,DS_-!1%FAS\\[<>R'RQKYX&]/A7) 2WVZZZ4"V%%4:!/U$!9U
MOU>X]J$LE"!/U1,IEB^_E[RX34D'1_I6<FF9P-FM=WZ\8K$=5A UYC(]"W?B
M:PE%FP0F<2J:5)MMV3RB-C$)CZIJ1R(5ZW@[")_JNLZ'$HC,=R.7V/W9_#XD
M6$B&4QVQ/ST>7@W9Y+B>-WN^9*EHYUO'8-#C?HO%V OK?CYE87\UB:HPBU[Y
MJM1'O[8K,T>X&$\_33C=;%#M<*@A)5_=>Q0PL=*M7/O?Y]K <C#'VZTLCI.O
M:P;8-.;WTOGLQ5I."0J*/<J]^+&ZV$&FI=.[2B!K8L7!%6Y?,'&UI2'OA6-_
MPX(!S:Q$6&XWU$D:&)U%-O64@CZ_[]9R#YJS; >30V//N2ZW-UE^G6B?/V_/
M\VU^UKUT>^'2EN_'&F![@$%*,O66"FR&:RL!2@87"Q_Y;_WL?!,X./5]Y3JS
MY*CVS@OF59UW47$B-39'^QP48(@NOY( .IF*&M$<J:.U_4'>B%@_@IZ3F'+9
M%![C_=;<(]--/Y.W\PQ6K/KZPO;?\7Q:<.NFW6[*W&K-Y[;'Q4]VN=97GWQY
M_C6Z:^]92:_\XQ*>JY%6ZI(?[6*EGPB5TIB6)_L:YUU?!@RL7,GX,_@NP/!/
M?/M#S1",X[NX9\#13(?+&$>@1>5J;><B_,JGMH=__^Z&+$3_^I-R[M<C4^[B
M_1%5LEM:S89T#L>.@CH7;"4E-E_NKO2:]'=B&ON*5 E/JX(YZ2>EP650@*<S
M05)TUS94[)N(JR\0+[TK #TQK'26:JWF-9MMZ>(P(!#Y JL%Q;$RQ^$Y',Z
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
M LIO@T<>?R*G/DLV.,5O#E3:# %ZJ*=S%6A%+]C"6V_GJ%;J)O>N0< 7LX:
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
M8N,-BK0-H&U^#H.44,8H#V+F=&GBTOG4# ,C.R@4X/4]@&K$OP(/M0* M1H
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
M)D&6B%@$+D1RN4A3XYM*(Q._LU$)U,6$KRIG>VU$K^AWQQM/#R-G1UOCCL?
M[%8/Q8XVN]F+ZZ+$>D2T5H,<$OF#TQ,Q>A!H5/[T!^ ^S7ILN8=+\#%7XP\Y
M9=411"7:M?AO_7-S;E;.$.&I4HC#(#0Q'P'!D)* P@S%F41IP()8.)0@<I?
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
MCRE^/A;]Z%L]8LDVNXIW3\9[IJE447Y2'^0=G7^1J]6\RN&QG]$YHJE)1)M
ME6!M"J@L@4P* G$<*"%C(6)F90I<),74R&:]1S;1.I4F;>F/TORH4@9L:>,0
M)M5[H+II:C3XQSJ=L$3>)1FWQ\%PB&$;8U!&BFGS-BW<HMHN1; SRJUWX^-%
MO5VJ_TX4W,6->2WBM:FC5+YZWCS3"%75XZF+\NA>KQ?"K)@?]0?:7++PA) L
M%#&L@NB0U']01ABD*(G#) @4BIV.MH80<FI+6R4I,*+VO><:8B0M#]=?>'P&
M7OM<AL97'3$OV U;<.PR$:=0F<P+R)8ES/ST=9'SP&?Y6"Q-Z-9G:7#+Y\:]
M:24?WA7+QD%J<7>S+/0.J/6@:EZ\+395MDTDQD)6CE(SGHHP06$"!4OU'B66
M,:0<19 $BH48I41$3B<? \DY-:IOI 5K/:_ EJ95N?@JN?I:65!KN^-<V3:R
M*L"VTN!WHW9=<KZ?HX3WK\1R#7GYL1]Z"_7BP][7*62H0?'K7N)=RI=P5!D*
MZA,N+X-UU^.HK,W\<4.7)LKOL_$$74IQ6S3IWS[KU5/D=/Y;L?SK3$6*28HS
M&$JFEYXLT+L+PF(81S)#8803+JW<:9Q[GMIBLDF_]%A+#Y:-^(8C'FL%P++1
M  A9YG<+\$UKXG >XS0T%@=B0P$^,(-OL&X$!Y^WL&YD!ZWPX+<!078XZ!H*
M[)$.MWR"[G:^U0>XSC,MIP;'.\?JH^?.V56O!OI<IIS;6IW:6=6NV)LD4V65
MZ/+VGBX^/59A(=?BOY_*E?F57OG>:\@6J_RKK-XMWWY_E-Q$71>F=/MO,K^[
MU_^Z_JJ7QSOYL^Y[]4:O@>]HOOP+G3_)&2:(!H1Q&%'&(!)409+H?\I,!5DB
M:4*BS/[FYN]!Y:FMB1O5*H,Z;Y4#M-(.R$8]0R FKMUDMQ)FK02EP?)/+C<5
M?P_C8W5']?>@R(1L@=H;K\Z@O8T8V((,O'H&V\\UL('Z0+$)X-E"#M3Y=PUV
MH $/;'W+&CZPQJ]NI 0M@N"V  9#T(((&A1!!2,P. (#)*B0_(?[Q%UN_OX>
M%)J@)?:/^LD[WGK^/7T]W5>L?Q>:C'B?^W>!Q]'+X[\KR2]+$/=%+K_F32&
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
M\2.6$U6.$,13>_F76[K]\Q]Q%&;_"F2E8P^'K<N'3F4!)T2%,#;CAQ@5$--
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
MVP_6VCALK!T&Q^(8PC/@8WFCMN@V4@,M-JB=U;='X?60X#H<9@P#\DAG'+[
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
M=0Z+SOQ5)U\>+UO5.?EW<E.=??C2HI/F9.E;/I]OKE$$SA@-3'D3O;A E/
M$I1D^H]4"**$$-QI ]C1U]0X<;N"82MLW]J0A\#:F5">X!J8&8\AU82)@$'N
MJ"Q@\5Z]\;"G%ZK2>%+ET]483[_2]WZJSAMS0W/Q4:YF-(H28NZO*6$<(I9P
MR((40YD0'@H981$[;;?VVI\:,[3B@4<MG^NUTRYRME=,O?$8_#JI@<*(=@7>
M?N?SIZIVP&OZF*_H//^;7OC;AZY $_"H?W]MXB+S5>[WGNDH3-[NE'9;'_G^
MZ*AJAW=%QQ_K&1A/EPL]5N6-7+9Q^CF?48H"$9$ *DD01)G>&Q&E_RDBQ%-)
M96"R5EK5EN_LQ^4C'Z>X?"46,.$/X+&.CJC2FAN)P0]/I:A^6OW3-?3]*,YV
MU' Q=@,31"N?B5>O,Y=<@4I&CX'K71#XBE$_VL>XX>A=:AY$GG<^[#\&RP2
MO9L7W_Y3BCOY,\T7YH>?)9_3LLQ5SJM]YBW]/LMB@1G2MH&($PE1("DD4@4P
M0S+-%-4[M!39I3;W*9;5A!DU[WD5&:FTZ.#>R%Z"Y5IJO:*N"B";$;XR(5C^
M(K"L!]*.GD8;G,G$7E4#9]0"E5Y7P&BV_NV^>E?&J6^<R"M7N$<(N[(6:3(Q
M5ZX@N@1<.;?=JPC%HHK8^BU?W;]^*E>ZZV5UF'ZMM.5X/=?=4PW2NV)9.QY4
M<CTM3;#7YV(^US\W^9EF+)111&()11)CO>%##&(J.$PS#7B(94*Q5;B$1YFF
MMDELM0)&+=#J55\H@4HSL%8-:!U XUQCM .->N!WHR!H-+1T0_(YSA8G]^./
MWL <_P\Q<$YU-,8>P-%J;%P^D-X*;_C$^$Q1#B]=C5FPPR<V>\4\O#9]D;M=
M4Z'^E(M7PA0*LDS +),!1)(3R#*)(8TI,B4?F4"IVZF*5;_3.V5I'<(:N;WX
MV)W!WFXKXQW/@=>Q,T .ZU1GAY)??[HS?;Z$*YT=#">\Z"Q?[EM)I:ES]+%8
M?)%W9CG^1=;E9DF:!@$.(,?4Y%I(,618""C"-,*10HR&R,GQ_U1/4[/8CY>:
MH]T>8([@VE&-%\@&-Y,;&:],P1'8B E^KP7U&1)P#@QO=41.]3-RA9 SZA[6
M_CCW0D^W$%/\\KZ8ZS?*.B'S+,HDCYBBD(D@A0B%&&*.% R#+!1I&*(DX"[E
MDPZ[<.*$$2HBW9H^P(<?7_VH=PCEJCG\HXNFVFTC^S__$4=A]J] 5CHX.HD<
MPFQ'$I>!-S [; OW+VU:^N,IJ#RZA9Q$Q)<WR&$'XSJ!G%3PP/?C])/N-7[>
MY$O)-?3-&H:(#"2.8LA)&$,4L 1B&3%(%"="*I0I95W<9[?IJ5D$K73V-7SV
MH.J>R9<!,/3VH1',XXI^6M\+JO3L-3A:>9[CBFS7Y3GQ1+_5^"^R-'XS330I
MSG 8)%D$%4E4G827I)& &6>A"@.F$IRYV.@[K4]M%C;"]8S&W07.;FGM#<?
M<](:">>E\ZC&GE;-W;9'73"/JK6_5AY_J,_EVKU\6$G^=B&7=\]?Y/)KSF7Y
MX</K9C%() YQR#',,J&M9Z(-9Y)(!F,6B9A'*I;(*LN/15]3F\*-M* 6%[3R
M BVPR]U(-[XVEU7>4!MZ=WT:L/,+LC-R+K=%WA <ZQ:HQZ?G>+EC!4GWI4UW
M$R->QECILGO)8O=*/[/'''=^4KM)$#8']P%E(8\#!CE.&40)X1!G@81)%D<!
M(S1#S-$5M;._Z5V65$?XA0)[B3G<+*1NC.TL)F^X#<RK)P ;Z#+$"A5/5E9W
M7Z-:759J[UMA=B^YL8B0^>SM8E75DM-F#JUJ,;VA*]I<\LZ2&)% QAD,14H@
M2M,88A*&FD^RC$H>A"&U\F,ZU]'4[+%:5K E+##2GO5Z<$.WFSI\8C8P:_2%
MRYHP;+$XPA6EY#_>%5]_TDW4-*'_LF&'LPV/0@RVZK6<8/U\/Z-B79[DU?,K
M.C<>(%_NI5S]O"R>'O5&L*[FE<4JC#,AH4(9@DA1"4DH!(PDCTB2XCBE3I&O
M-IU.C28VQ7BN3.'91FY0"0Y:R?M54K,: SO;PS>R Y.)'U"=;1$7E#R9)%9=
MCFJ9N("P;Z XO=N3F/)%OI(?--F)_5PGUUSOEI_FQCEA.RG*##.]E10D@4E"
M(H@(99!13"%%/,JR,&"<8[=X&G<AK";7J-$S6X*";4D=.<I]."P9:QB(1^*O
M2GA827^8*ND*.&/O3F6]X?-%;.X"C$MSO0$Z(+W^+?FJ!;2.&6]"RM<%P"*1
MA3A.*(RE-LY0)!)(,D6A$@D-]9"%C%K=0[MW/34[[?6]J:ANRML4ZP#[VF^M
MJK(X;^H:Y+)TK-7F,!IVS#<,Q@,SWHE20IMD!HWH@Q13<T=LL/I")SM^X4)#
MYP Y7W'H; O]R.RC7&W"^]8S!2<4X41A&*F(0I14V5("#&D::LH2C&?4*L-<
M9R]3HZB/3P\&XF()E/X?JU(I&&X2^?S)6 I'TRHXLM5QN.V(Z6(0!^8@DYQ_
M)])XS(*.G>!XHIOC?8S*+)UJ[I-(]\/]^.*S7%'C^=]F;VBN9TEFTBC1 !(9
M!A#%<01QE"90I0(+DX8-)TZE/HYW,S7&:*4$K9AN9' "2SLVN!RA@>G@ )P!
M'.^[0? T[4]T,NJ\[U9T?^*?>;JGLWWMN/]9/IJ=U.+N_4(ODP_5AFI]"3:+
ML")9@$S4?88A2@,*<2PY3,,DX(FV'FCB5";,IM.IL4(;9[(6&FQ)[>AY;X,Y
M$HRDC M(4BH@XH'FWE A:/(<I"3&822$FXN!;]3'\308&W<[GO:-Y<"LW0GB
M0#X(+A#Y"I.PZ7+<P D'$ Y"*5S>[>$U^D8JN5Q*485L_+K(5ZVI$O,L9"I,
M-=,S I%0"C),&"09#Q2E 4GMLFIV]C(U?F_E!)6@H)+4P='Q))C=?.(-HH$)
MY!@Z??Q!3\+DX GJ ZZ1?$"=/BHWY\]S*'2Z?9Y\>3R'SW/R[[AZGGVX;RRZ
M.?*I&FT^0\IB$:<XA!*Q!**$A9 0;7\%B#(2QP21T*WXW'X/4Z.]6L#Z^W2-
M-=\'S\YTN@B2@6EN&XU!(LI/J.XMDGR__9$CR$^H=Q@Y?NK!?O/XACX;,B_?
M%4MM+>F/X9Z6QJ=ST\TLDBE1,M(VC9*9WDZ% M* ,IBE69RE%%..A9N[POE.
MI^>><&NN'9Z631 YH/Q_GO(R-VN@XR&7!>)V;. )Q7'HH16VNDK8B%OY==OP
MJ#-AV*/CB4$L.AR54NP!V.<8AS?[IJG0$]9T4;L,R@R+5$:QWC2%)B0D2R%.
M @6C*$HI28(XD%8>W<>;GYK9L):NGQ/F'G:69RZ]$1GZ=,4:C!Z9)8[I["VK
MQ$[C(V>4.*;883:)HT_UO>1Z;#CADZK2X7XH%G>W<OGP1K+5C"L9J$3&VM0W
MI4124]9>!B%46$]>E" <T=C-0.CL;WJVP49<LYX)+:/KO5<7O+;77Y="-M8M
MV#96=7)N(RHTLH(W7=CUN VSP,3;I5A77R/?C5FH?7A%9O-2S_6^*6=@JLP^
MF-*FU=G1]7)I7.!,GZ^>-X\TUL>U2>-9I\%YORA7RZ=:-B/9[3U=?'JL3&^3
M!\"X.=[(95Z(WV1^=V]\&[_*);V3/^OV5V_T_%^[@<]XD)(T%0S*%&%39%9!
M&N,0!D(2$1#%$NR4*&\RFDW-RJG%OZS&RF3 M;6RIB+OA.B^4AA6&H-M5, 6
M+":D9ONY!AI087/59B+;@J=9-E8:(- @= 6:+RY?@!JE*]#B!!J@0(64"0.4
M8!/1X]'BG-KX^S)V)Z/7N';V9-0^9>)/3L#>+G3YLA+8Y,W]\J@%*+3Y41?/
MN/Z>E[-$F.H5DL X$P%$*F.0(J+_D%D:\@S3,';*G76VQZDMIQN!ZYS0C<B@
ME1G\;J1V/$HXC[OMUL,CFH-O/RX#LH]'GATX_ISSSO0WMI^>G?I'7/8L7W3/
M+_&FN<+^?Y_H4L_>^7/M*#)#.*%")%R3BW$<2XB 1'(.DY!SQ8A("*&VJ25.
M]#$U8FG%!&LY&T\G^WP2I]#L)@]/& U,%^[P..6/. - K]01I]H<+6O$&:6V
M$T:<>[2?/5''.C9Y)]8Q)2Q+F* X@(*3%"(:!I!E/()QPC.)8\12Z>2)>[27
MJ4WOMK91'5GH&)MS'$<[F^!B= :>V&WD\[KXTP A.)T8>%KNC_<QZA+?J>;^
MLM[]<,\BIVTDX <3&?BAB9Q]_JC%;[(:95F&H@0%,(G#"*(XBB$3"D-!>*(8
M"AA)N,O</]OCU'B@.F%?F1/V3;3QO(J/W0HT=JQ(>A9U.Z;PBN7 K+$)'ZZ$
MO0)K<:N*&MQ7;BEG;'P5_CS;W[A5/6W5/RC9:?VBW[+*AU6 RFOQWT_ERA@Y
M'^7JD[JEWV^,3[K>PVS%@MX6=23HC&<LE#1)(<]P I%B&!*>4AC'440$5BG5
M4G@IM7RIJ-.[A;TQZND=?,MHSX"N%?)3;/GBX;5DQ)<<LI<KROQ#K>6?JF*.
M5^!8+;0K0*L:D%K/*A)]O](NV.!Q-7CIDJ&':>!BSA>+.8D"S[[ MBWZ[*V_
MBPI35D4R3=.Z%R/#ZZ)<Z;E0W"WROTDQ2SEG!.,,FJR'$!%%($,D@3B."4.,
MA5PYN>);]3HUD_?M=W,E(DNS]RUX7N6V^F:JRO(M-4KP0$6_ I5GQL".ZKTC
M._1Y6$/*VP(WS&QD]EZ3T@X8OS4IS_3Y$C4I[6 X49/2\F7W&E.?S3UC=4]$
M2((BD7(H$&<FVX6$F$@$$T:5X/JK2A.K]#@[K4Z-4"K!G"[:=D'J9H3>J@_M
MP&$"_<J5-K#FX)<J!*+QU_5T3W94[PMJ2VW:&JVLU('XVQ6E#G_9(][X,\WG
MMY+?+XIY<9?+\F99B">^C@!-I4ADQC-(4D4A2CF"+&$QY$HW%281P\PJJYY%
M7U.;E&M)M\J$F)W!EV+^Y!"<8X-R]_SUC-W0U^!:4+ M*6A%[1.:? 8XAP!E
M?P".%*9\&DA/P<IVB'2&+)]I8KS 93M==L*7+5_Q>XSWKEC*_&Y1WU+PY]NE
MWN69A/9Z2[<0U;_FM1N"W<[/'#L:&ZR8SZM<%)H79;F:2<$R2=,(ABF+(,+,
M^!V0#**(Q@(A2E#JY(O\HMI,;5UHE :\T1JL-HIZ/Q<<YWNY[/!P<E_!"YPP
M[B1CO +M-])B K9 J8R(+5AV3A9-8L="F5/(*]"@<W#:N L0:!$:_OAQU($>
M^(QR'%TF<9 YZK#9GG:.*Y3'<G-RH1MHZL>R.$A)1C$D":L*1J40(TYAD"84
M)XJF,7=R'C[7X=26P@_'ZZ==@5KHGC5ZS\)NMUSY!'/@%>5B'/W4HCL"SI#E
MZ+:[>_F*=$>4MRI*=^P]/_E^MTHJF/-6GJ]F*N!1F"4A9&F:0$13<_V21) F
M:1S)$ =*.7D;G>]R:I2S3G4KO>0!/H*Q';OX16[H,YF#_, _;-=E:00^'4-Y
M<;+@T^@,E#CX2(<OFD3X- #G$@IWO-DS9)K?2_$TUTS64<ZE3@'"8VW7T)A#
M+$*38MC$15%&(2.1XI2&&4Z=:A/8=STUVFDE-ZMT=\FCGKE7[ ?%CI^&@7KH
M&R%_*+N'V#H#YBL&UK[C<8-4G0$YB")U;Z''#=;-,B^6NT99>SL0QXBS!$.%
M,VTM"6TR52ES&49ZX\;#* BMZ*N[FZE1525HOQK@9_"TN*;R@M+ +',4H#Z7
M4QU?GOV]E!?$1KJ2<ONTW&ZCSN+0>1%U^NWQ[J#.:K!S_73^Z0LSX-6A^.;H
MK5B82/S*4P2%,DHHH5#B_TO>NS;'C2/IPG\%$6=CH_L-85^"! G@["?YUJ-8
MM^5CJV=BHC]4X"K73JE*6U5RM^?7'X"7NA<+8($4=\]N3-N2263F ^)! DAD
M$FT7D$EFV5 F4&O#2(J-(A1U2HAW2MK8F+%.][%5LM/=]G: /;VS6+#U3)7!
MB'7/I=>&1.S4>B=EO4ZFO3:SSR;>:WVI8[;>Y4)JK58?K*J_3N>+I150IOCX
MMIC95E:3+*4:%TD!44:-RV^%($U0!GE1(,XR@@@).E.^)'!LY'$W_ZZK@PBW
M.IGOG\%-+YW!=</<CTQB(MF[ZU6I"MR(.'>0&2&^)12:6(EZ+XD;-DVOI_%'
M27I]W^M4WF0Y_6Z]U._5ZF_#:.42D<_EE,\^+ZKDU^__7+L#0[LZ?#^ORD7:
M7WY:K-]-5W*V6&GU8<8?)VG*N%(40?OM88ASDT"69@0:31.[V"-IP?P#%&-K
M-S8.V]I7;:. ;9+<^W+'I;(1-$:"K95@QTP[<-=@8RAPE@95&XG\"7@L2U^S
M8WNFU/^9?1I4>>;U^G:PBC6#]W%HW9M^^N!"O9S(0H>LL],/7@?U>7H2TFV%
M\3!]LE[>O2F#>XQ>WIM?%@MUOZR#Z\O5<Y(K93#/H#"4V46&(5"(U$#.)!5V
MB9$Q'72^[2%S;'-TI7(9!%@K[?[NU+9H-S<1.FU<^'2 WXHC,JP]SY!1$ U>
M>@1@%&GUX2-QT 5(  2':Y"05[MGZ?M@Z8W/_J[Y\H/]S6IB,&8I502FE'.(
MM3*0)MJ%U_!"4)T4"?<JK=TB8VQTLTE#5^D)G**@U#0\3=\AG.UD$@FDOMWK
M<'PZY>D[@\!5>?H.VQP\3]\9HT[EZ3OW:#=?HXXN=G>2ZQ,YFJ:B4$1"R=,$
MXB3%D&&60*IU)B5/9":"#CZ.)(QM8#=7$)R&87[",7A^7L%5D/0\C'?1Z*&&
MX%G3(TWMQ^T/.I&?->]PVC[_8-@XEHN7^7KY8_++FTE",<T254!-M5T2()E!
MCK("4I;BA.HT1R;U&;C;)L<V4EWI5+L<_P_K\*C%D]]8W0&H?7!V,[OGT?C;
MI[N']^_ ?]Q]^N7=_:_7#\-C(UOFS?KA:MC5/VQ'W$Y3@PRQ8]6;,77B7[I-
MAI_T^BU???N\7'R?*JW>_/AMY<*P-IGL;N5Z^KU,T[C)Q(HT+ZA4"<Q(DKM!
MI^PZG!60$*)H9A?I1!<ALV6X"F,;I&]OO_X%?/AX_[>OX,.7^U_!_>?W7VX?
M[ <,;M\^W/WU[N'N_=? )+@=^L5O(NX7[9ZYP=V =-J#1GU7P^4G9P&8SG\&
MVSR96RMZ2;';'<1(<WX'!09U"KH#=.@U7-'2E3%2'Z=S?6?_NIK8E7W&,DR@
M,(6!.'650K,D=0GZ->>44"2]W(SS(L;&:!L-.X8_;;'S8Z7K$.F9=7:JA3KU
M0*E?'V%.1\;'CFW:"GB=@*8C \]&,1T_>7WHTMUJ]<*MPJ>J72K,65:0%)I4
M"(@-U9#I/(<&L\0VK!'50;=U/>6.;=SOQ^"$EQ3UA=N/%7H L6>JV,>OT;G_
MDJ.!2/40TM0F]=4BFSR@: MP\GE];*5)/RW*6$2M/KV4VW/:^B>)20K(""<0
M"YU"QI&VO@L3)LLIR0F=/)<%URSY+M>>'LQ0^H>,[4,K^AOF]R_KU9K/E?4_
M;\ ;_3B=N^N80/!9.=Q_FLZKRJ.KT90>/?PLBE021+B"7# *,;7+>9IP";E!
M$FN1(D/R^K-X/_?,^3[BCZ*Q8:!/XGWYYW^G[\'331]C#_?M_0]62G:#@?UK
MB<)_AQJQ9SIN]#5@#_7^'U+C]4QW#%?#]9P"7=.>?-?S%_U%NQ0JEE(_ZZ59
M+)]*ITS,IH^\"E![UM)*;.)"OKK4P:9*&%5Z ZYJ;)TP&A&I%(6HP,X92A/(
M)*508JXH0U(E6= ]E;CJC6TQ6%MW S;V@1T#P=9"RW"UC6 ;3[5KY@TH#:UJ
M8'>K&1OU._";[5ZO=WN>TEZG8SLDBND#_VA)9:(J-W "FCZ /4Y6TXN4CD$_
M3='P-S\V?_W+5"]M0]]^?+2:SDIBR$A!.,X-),@EQY4$0Z8+ 56F#=$DY20)
M2FKC)W9LQ.]4!:6N-V"C;2?>]H3=CX_C@]DSSVYQW('197C]=/O7Z&P9ADZL
MV",_H<,&) 4!<12E%/9V1S8ZG_+FE^5BY5(Q<"V*)(%:*>Z2= M()44PIX+E
M2&5423KYKI=BX<U$%T2&#)M=P?V-GE(M\)8OES^<YU'V1"#[7(+9DW<B0M<W
MX[0FQKH!I;X1.<<3F5AL<TG<L#SC:?P1P_B^U_%H09<WYG_1<TM:L]NYNE76
MM9JZV AWW:NN3S:1F)B$8 YYDDB(<U>7/+&$0S#E1:ZPD(G7=88PL6/S=&JM
MRTF9[RD,=%W(+7#'U@]]S^W6Z)CVO5=:*6QYIE*YQ'5?:5!K'7%O,PBE6!N3
M?D*'W54, N)H2S#L[<[A&*Z.2GUU("UTK@HNH+%.#<1<(2B48)"+G!!#2&X$
M#PRZV+8^.JKA,[UR^R>/BX4*9)5]V+R#)[J!T7^(A-.KAXL6)RV.%^JPT_;0
M 0W'9IT(6SCQ4,?Z1'MES+],'[^M[\UOJ\I'F4C-<XZ0@:DF+N]O;I<FF!80
M9T(C1HQ(<%#X=ZNTL0WB;83QS&D+EDY=N##PQ?[ J^RS$,QU:(6?5L3]QGLT
M''L>_UL(2T5OP)<&0ZMLM5")6*W&!Y18U61:90U;[<7'[*-J+%XO=:.4G43E
MYXJ^U)-;8C"31<(AX=B2BI%VA5*(!&:%+$2!5<JSH"+2WI+'1C6[2?A/597Z
MV+:2O[(3_!BG%VA[9I_;^[=W1T6SJAKI/7@DP0A%HB)_N8/24C <AQ05WD#W
M_ ]E=HDR <X7_;Q8KB<(:5THPF!&4^OX<*(AQYI"4DA%62YH;KR"!]J$C(V$
M-AD.MHJ"2M/P#!!'@+:S3"R8>B:4#@AUR@%Q#H*KDD <-3IX%HAS9IU* W'V
MV?!!_M%B/OO\;3'7=?PCQ2PG"<JAU"B%6 D*J2XHY&DF":$Z)](K!<2IQL<V
MJ$O]0*G@I4##R\!='L37P-'SX U (FC0GC.YTV ]:FRP07K.C-W!>?:9*_<>
MJMG<.;D3%Y&A."504:$@SDP*:2932 PBNA",JU1,UHLUGP7N.&QE! W1C:0A
M%LG/RX69KL%/,U<\MN.NP@Z618XPIK* &4X2B#7)(#>*0L9,4A"FF4)AU9^O
MQ'*0,Y['*AOF!M//-:8?XV J&.74+DXA(SBSF.8(,I.E,-.%T;G2!%$6=EA_
M):K#G,^?^4:!62S!LIR@R_75JH(_<*UZ"N? ?;!NV VV^[57%;J'':]C\V/O
M<^U(>)W=K6,3S^YIG7BTVP1E&UJZ_;%WNOKS;NZ2_\]MITRURQ0@3"*4A#Q7
M!&+&+!7()(<N\%RD5!J=H<E</[H5K!\5M,KS^K!9]6'O2NWO^]Y1+FS M^/J
M-_2OQVH8$FCT!#\UFOX,IG/@@UTP'WAA$HD9VF4-RA%>9A^RA=]+G4/^7%KE
M^>,7+?7TNYL:;V>SQ1\N'/I#4^S)\9->?=PDS\A2*6B*$<1%:O^38 I%D6&+
M/,%YDB#.=!84CMQ!B;&Y<QL;P-:(&[ QHW0_ZBIDSA*_G!WQNLR/J?KNB)X)
MK)<^Z!)]V!G$>!&)X2H,':78&:03D8O=V^I&FW_3[AQ2JUN[IN&/]1[#N^GL
MQ?ZNO*&XVKEX?:O^\Z4JP[1)BI8Q)J7.-918N&1U6$&18 X93PQ#FB%)@L(<
MK]1G;&3ZWA@MRZ)5RMG@SA576KXLRX1:@2GKKNTJ/^8<L -Z)M'&$E";4N]
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
M>=: 9A">?Z#;%/QA.I^N]4>7N^1NOK9],Q6S*C'5;RMM7F8?IT9/"!+2Z*2
M14H8Q$85D&=4PE2)(C-*$"5XR&SL(W1L0_4H$^KMTV*YGOZS\E&K+(_@;@[^
MKODR,"3:JP_\YO'8R/8\_BMU8:DOV"I<Y=V[ 97.P"D=;WH/@2C23.\E<M!)
M/P2$P_D_Z-W.M]C<E>O/R\7WJ=+JS0_;LA7F2HZO7 SUK2L/549(3C!/#>$$
MP43G%&*$<LARA*#(.>%IKH5=.TS6BS6?^7&3O^@@AMHHT-]@<K>HRGP3S[7N
M+BGT3R]N,WXZ_]G^K[8 \(T)P5?7?'O%CZWZP;IGSG(PESDB/N_"_%L#\T9Y
M<'L9YB[7U (1BW<_S5?PT!?3 @$Y<2,MM(7X:1\V5_Q%JE%:)#DTF.40%X9
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
M3$YGL%7:%;ULU+YI,AQV2V3NU06>WDQD8/OV;V)@&N[U!( 4RP_R$3FL9Q0
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
M-Z+>/DL5Q=04%/*$V74$4@44RJXCDEPIR8L4&>(5*7U1TM@HHM&UO("\HVW
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
MI%F';OGIA[H.U)9SG@FQ,S0E.8$BUSG$)L\@EUQ G<@<*9&D6@1M7;9*&]M
M?L-GY288+T_TWVE9WL@ &;H![I,)'=2M.//"2,)2B%5!7#:7%'*!<EBHPEA/
M*$6TT),J:\G7-5^N!T;[4/+_",Q%QDR:$0,5%792(BJQWS;.H5"(YJP@1:'R
M&O/W<\_D"Y$1;^0.A?>OECZ^-6!G,<'VG<4BP=?[K'8ARB'F/.<!2;1YKTW6
MP/.@A]G'\Z+/2QW+73P]SQ8_M/ZB9V4RE*-XV]NY^F1MJW\0JU(3WQH-G1H?
MT8!H#(#+R@*P8P+XO5$XXF'1=8C%JO;038EABT%<!=11K8CK6KLZ%/W$"-.Z
ML%YHIB'*-848"SN-%P6"B4XI*A*>J,+K8KB7M+&YJ%4@=A68_K\[1Z9WYJUH
M6/5,3_OQZEM5>Z$F+U#B![*_-M%XF=T2WAZ--MR-V\_+A7J1Z_MEG9JBO*QM
MJ)(\3QC$*<FLPT]<'([E#(-SA!BB/,^\;[Z?$C V<JAUK+*HU7J&WWP_"64[
M/<0 J&=&J-7;A2;JK?<V\Z^X\WZRV<%NO+<9M7O?O?6Y;C[ .VVF<ZW>Z+G]
MR]HE-WO_Y[.6U@?YHM<OR_G]W/VN8I()2826J1'00B>=2R"@R%D&)>589&DA
M%.%A215#Q'M]Y8.F5FQT!<M269?NSV5/['2A+:@C_+R(Z. .0R&UVJ#6N\R4
M> ,V6%>Z[V18=/]^J?AHL+/1!;M(OD>0Z$%=D2Z@''HFG=KH<"7O_KM>/DR?
M]/W+^OEE_:M>?UNH)N550E*D,P09*U*(D]1 3@6&VGHMAB2(4^I54.""G+&Y
M+4Y3L+:J@D6I*W@JE0VXK=6":3LC142J[Q6- \EI"2HU0:5GEP)Y+6@%7&"+
M@]I M]3.H!?I^MEE*%KOF+6\/MQ%LLLV[-T6\WB\8[5S/EV6:03?35=RMG#U
M]E:!FQ1M38QH1#LU0:DGV%&TEQT*'T1BE=5N$S5L.6T/HX_*:/N\T^W#;A+Q
M.*]BOM*3%.?,K4T@,EI#G!,-J4RXG?M9EN5,$:2+L%(>!Q)"/O5AJG%L$C;I
M2D, P5P'YG _A)%F*>:Y0%!CG$-<8 R9I HR4?#,&*X8\]KCB0#BH-G0:@BO
M \^/3Z^ I&<*W:#Q_@(:P8QYQN9()'G8^J"\>,:T0RH\]UC'J*/R6M$'+LNC
MV7)+,67$9)0F4&8IMR.W8)!FQ Y?5. T)2@M3%!-R&,18QN\]<6Z1L6@G=D6
M(/U&\77P]#R0 Y$)#ZHX:WRL2(IC <.&3YPU\"AFXOR379,XK*=546RW0?)@
M&ZF&MZMRHU0&F9$%Q#B14%#B4@3B/$]S08HTJ,+#:3%C&^);+:OM/Z=GIW%^
M!E6_L7X]5CV/]RXP=<BRT(9"M+0*)X4,G$>AS=#CQ FM3W?,#+J8/S[HY=,[
M+5Q(2%U&X*/+&;/-QK":V)$OI> YK(H8NM@-(:W++HC*<L(SA# )6_3X"1[?
M6LCI#2TC/0%E-0<_?5JL-2 _!^80]4/=%-2ND'(->9Y25TJA</<L"62%NVF9
M)I*%)=")C_D0U+Q%_-G=:PV]=.V)M1]!QT>P9\(NP7,: Z=R>8I>:KN3)B=B
MFM<@=&*E?O43.FPZV" @CE+$AKW=X2SK\U)+OEJ_7;CT8&O]YF4Z<\D/F^K-
MA&IJ5W,%I 5B$".N(<U3!;E$E&&>*JJ\>,=#UMC(IM86-.J"C;X!!S47X/4X
MVHH'6L_\<AZO+B=<%X +..6*!^! )UT=/KRPPRX_1%H/O"XT,=RAEY\M>P=?
MGJ]T/2/X;K^0Q?+']OAAFZ!*46$2;!TX8;"[-\:49=,BAX9E/$6JR"0+NE/;
M)FQL=+K1-72_NP5/W\WO."CUOA->J[ESE@A^[R5MEP\BT?;)6T0-O&E^V>CC
M'72/=[H119-+[]XXY^YN;IGII:KHM_F\"36%3#,"#1$<8I,Q2)$B,&$B%;A
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
MO%:;3+3$)O1A4".F(,F5B9!BI& <4QUC33".G3:BS_8R-AYLK/.4ZCR/Y.4
M*0@^/7.4.S1>P=%%UZ\(D$ZW/5B0=-&][4#I\H<[JYV9MNSV_6=CW'2Y*.:+
M-\,N]Z\F("L++9U+"*J42&<Q9B(A*H,QCZFM<,0@3U(,L4A1'N6:I](K<@IA
MU-CHPR;IV41+UP1+;Q6UZX?1+:0:>G!ZYJZ=7$I@9RAH?0*M4YW2+(/JM@5#
M/9RNV_4F#:W[%@S$([IPX=H^Q>7;WZ<[\],O/S6_,?_8VR2__/0_4$L#!!0
M   ( .%CJE9;P1U=9GL  (R$!0 5    9G-T<BTR,#(S,#,S,5]P<F4N>&UL
M[+U9LUM'DB;X7K]"D_,ZGHI]2:NJ-HI:FC:4R*&873WS HO%XQ)5(, &<"FQ
M?OUXX.X;+I8X.'&S.DTI<3WARQ<>[AX>[O_\W_[\//ON*RY7T\7\7_["_\K^
M\AW.TR)/YV?_\I>_?_P9W%_^V[_^TS_]\_\!\#]_^/#VNQ\7Z?PSSM??O5YB
M6&/^[H_I^M-W_Y9Q]1_?E>7B\W?_MEC^Q_1K /C7S5]ZO?CR;3D]^[3^3C A
M[__N\F]HHF%62I#,!E"&.0B&>4#K MH0@K'^_SK[F["H<K0)2A8%%'J$Z(J'
M*!0:)ID0SFT^.IO._^-O]5\QK/ [8FZ^VOST7_[R:;W^\K?OO__CCS_^^F=<
MSOZZ6)Y]+QB3WU_]Z;]<_O$_'_SY/^3F3W/O_?>;W[W^HZOI8W^0/LN__Y^_
MOOT]?<+/ :;SU3K,4UU@-?W;:O.+;Q<IK#<R?Y:N[Y[\$_5G</7'H/X2< &2
M__7/5?[+O_[3=]]=B&.YF.$'+-_5__[]PYL[2\YB6:S6N/QK6GS^OOZ![U\O
M" Y$ZN:OKK]]P7_YRVKZ^<L,KW[MTQ++O_REK-9+J#IE\F+!__/B+WY_L^Z7
M):X(*AL^W](O7/[]NLK^-."?:YQGO.#K:H79(MWY0[,JU<7UWYR%B+/-KTXR
M3B>;K[Z*1'A(ZXF4-GDT'CQ3"E10"(Y9#](Z+3W+CK%TE^5*\HIHWBAAA>FO
M9XNOW].'21E"U!]4>8B-+!XL=R&7P^B^VG,?Z<].9"3R8HF@I'2@+)'M-6T,
M8WS@CN6@HSF*[-NKW:7ZMCY?+=-WBV7&)1F-J^7",CW0[5W 7OZ)[[^$)7T(
MTJ?I+%_][6H]6NAJO6@@N0NU$+E_^8ZX+KA<8GY[H94GF=MP1C!>X>9/MM#X
M_W,>EO3%V;</^&6Q7$^*C]DGS0$5<:\*V4WG)4F$I""0+"'CQV'VB85WPH'H
M'P?'R+,32+S'Y721?YKG'^GXG6CN36;$@)=2T[E()T"P3($W3/$28H[:-@'$
MG65W@H/L'PZ'R[(3,'Q<AOEJ6@5_"6@KC+#96)!9)G*GN"$>!(>2=+ 8<Q(R
MMCD=[JV\$R14_Y X2J(CH^*G^7JZ_O;S=(:_G7^.N)P(A@1CPX#%2"<>9QHB
M2V3ML%+.F&9)'(6&^RONA +=+PJ.DF 7VO^ 9],JA/GZM_ 9)\%Q9G1,P$HV
MH%P($*)VD$W*R11FG-$-$'!WU9U08'I'P1&2[ ();RB,7Y()VPC^=Y(_OEZ<
MS]?+;Z\7&2>IJ!*DTF"MHKB[9 NNH(2H/;?,6!%B:0",K43LA!/;.T[:R;D+
MV'P,?[[))+YIF5YD*"XM8<K*V<(2:/2%'&0;P3L1@#E1I%7&X)%QY];E=X**
MZQTJ+63;!4A>Y4PJ6%W^Y^UTCGPB'%<Y<CHJA12@5"C@LBX@O'#>.S1&R@8
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
ML!R$]8R,.5+89"AVTE%AE,C)C1C>YFTE<=Q$8E?1Q6%JZQ*5/WW^,EM\0_R
MLXV=O>2LNK7"!V^L51#9ID58RF3?2P##-%EW4;+UK0MF]J%OW)3A:'ALI+ N
MP;CQ,\CP+\_O,J:$$S+S6FP6PT4ON:!T!NZ+4SHQ&<N)',*'Q(T[079<E_!(
M5?6+P1M?]S9O@>DLK29C'[*M&7T$9V3M8J**,J$HRX;W#I^F;^2)LKU$)X=J
MK ,T[EZR/@E6N%@GVBN-2/O,:_ U\:258-+P9+EJC<7=J1LW)WCBPO^!E-9!
MWZ,G.*NIS]43@C3H4==4J,C%U??OY(QH7Z!X\CV"UU&7UKVM]Z>RFYX&)WF!
MV$I='=A'8BTAYLV3LT?*UU[-\TT%6^88I$X!N-2UC9XA22;RC8T,EC/DT:G6
MW0;V(*_+MX+-D+(XC=IZ0&3X=EDV\BH1#TM\FC.;%/VC&8A2:]NR4N"*RV"U
M((='J21MZ_J;W:GK\JG>8'@<1FE=Y+AO[[4?IQOYK<^7MPK=:HF&X#P&)B!(
M1[Y(4@RB%^3\D).<4M \V]97R#N0U:73> J3V$)-'9C"W25(DE-:RTSQ7T)R
MMZ5#"(4X<ZEP8P.9_SR>ESCN!?.)<3B0TOH-7GZ>SL,\/2[(J- DKBT(SAAM
MN%Q'EP<%,B 67X1EV+H5X?Y4=M-HZB3!2RMU=6 ?/^"72[_C7=FDK-XNYF<?
M<?GY1XSKB3?>>YL]..5H=X50VR-R#IQ%*0(S4;K6ERU;">HR0&F&AL50JNG.
M!WRS6IV3S/ QQJQR410G(8E<^R_3P4&Q5H2 RC%I<]&B>42R&VE=AB-#H6\(
M=75@[ZZBK)\72]I?Y\OT*:R(K]>+SY\7\]_7B_0?$VF2<XY9**EZ+DD8<$Q3
M[&]R+"YR(=50(?'35'49APR&O;9*ZL[\_3J=+Y;3];?->\-/BQDI;S4)ACQC
M8S)X5L??!%W 6Z&!EV+19Z8"MGY5\AQ-708=IS!X1RNH TNWN_@F-EH;0R2F
M=.(U5N,0"P7V.:>D,8MBF[>&WYVZ<:M;3PS"@9360>3[4RF8*$#[Z4^RYO,S
M_$"6]=V\,EO_7W.;7\.L&OT/%.,OIXGL;OV-3;.*V[]PZT]>]_+[<;KZLEB%
MV2_+Q?D7^AOT\W31^P_S3>N_";I2F[L78#945\5FB%I0.(A1\L)"SK9U-XCQ
MN>YF^$K;R'Q\P>X%IP[.@Z-D\QZ7TT5^6.5R*;';6KC0S(3.4BS21Y".HE*%
MKD:JTH#T1@@N<^2F==KJM!R.>RX-MK$ZADD'I]A1TJFEL#RR6%/4RH"2,8#3
MQ+O%R"/)P9GFKR2/(GC<1QY]0GPO)1Z,V"^;C4026*X[P"T%VTEE74>B6?)H
MK2L0ZV-Z(023/G%K=.N,R/"X'>Q12*>XW4>)1^+VIWFC]EGG7[[,-J(,LRM1
MOIF7Q?+SA3*O*W<9Y\(D!!.)/Y6SA,A1 :+W0J1H3?/2@1U)&_<YR&!('$(Q
M';C(5PW?WX=IIDA\HC*9<Q43.&>11!0,A=C6@F<JL* X^N;ES/=(&'DLQ1!J
M?E Y?[C,NX#,94]J7%UQ@%F))$H"&0H96NT]^!@*;:SL;$+'R-]M_R#C'A4C
M5Q.?!#A'2;[AG(93SV;:W(!<9J4OFKO>9:K1D*9'ECG-M*;G^&L_MNGABC=U
M3#9Q9H( 9C9=P*ME8BZ (O=?JY"<X:VO978B[&C?ZFJ1CYN'[))SY^N;I,@T
ML>F5 %>*!$\;47%C,][OSMR.S8\[-Q0XQ0"F1EAXX#(=+N\.CKEKZB\D4MNC
M+N9UM[[Z<UI#8LW0)0[2;WH?U.#8&PN!DT!"#)ZEUHU%MQ+4"98.T/13H#E:
M[!U@Z!X//RX^U\;CR&D'61M!HZ:=Y+2%*,@%X,61R\?J+59K;^E10CK!S/&*
MOG]1<K34.X#.K<J/7_%SQ.6$<1E,+ XP91*)8>3J.<GJ2*Y@--/"V=;%V@^(
M&!<R#11[/[]TE)0[@,FKG*=5_&%6(X(W\\L7WI?,6*M+E!DAHZS/KIV&0#JN
MS1=1J2Q%^T+JK02-&Z*UAT\[Z7< I0^X)GE@_BDLY]/YV>J2BQ2RBV@59*,H
M8&76T3EN.3!?K'%<!2]M8PP]3LFX]8#MP=- WAV@YN-R,U;EV\:&7IC32T8*
MFNB,JHVV2[TU"O4!56V^;7*DW[$Z)]88.$\2,VY)2'OLM)%Z!_!YE=+YY_--
M!Z6GYIE?,A8C9E](/C[4+ILZ>CJ3JTG-(8LH32JJM?NS,W'C%D8,<*X-HI4.
MX/;XM-M+7KPUV19BP]L:<QCDX#G7H"CHR'24,Z=;Y[VVT3-N*4)[4#63?0<X
MN@Y>W]()_H9^N)I(F6U"CN!XHIU@:],W@0:LS85'LL-^N(S0-16==%1IF 8Z
M3, =0.1A2=C#-.L'V@L_+Y9_A&6>.&U$X5Z"L]7O*SQ#B):!9C8R1;O.Q-9]
M4O8DL9-\T8&(>+9]63OU=("^A\P<- 8^DDRYK!6*TMAJ[P-XB73&9ZE2\4)Z
MW;S,I GEO0V$:0BN!Y;RY)KNIL;O_7)1INLZ%FKBG;1)%0W<!!(ASYF$F0N@
M"S(JK;11 [PENUR]MX$OPZ'M0(DW+#TX'"U/A3*5F]]P_:Y\#'\^7LY]?1UJ
MLRO1N 0I^5![;QCP2M(!5)!^F64;9>ORJ..I[FTRS'#H/+&&.SCGG^+X1RPU
MM_@#SND'Z]I/:W4S7.]:%(^=#^\W6IT(VL"6.P&V((5A)11PB17P6&QF]:%[
M\W!F*%[&]05.C<D=M\1) =+%<_2G)$&&!Z=G\XN9/NG;QR6)@J1>^9[GS<]F
M%V#92SPRHHU%9N#:D,X\'9%!UX9UA<Y,@T)EWMIS/BF#X[H\G6ZJ\:'4\9%4
M=7-5&?O?,9_AU0C@'["0W#Y@FH75:EJFZ4)&A4@BR4RX%<9ZPT#X0NP7=!2C
M* ]U1'66SAKM3^ES'<#"N Y8IWOE%'#H/NQX5 !/LAY<<2YI#:G(&G%AA"@D
M!>I%))%%RL*WKEAM1ORX-[ O;0\T@4 77M<FV*O=M##_>+ZL2:F-F/]'F)WC
M;_C'YG=6$RZ2$X).MVB0@6)TV!&7#J*D'R=M9!#M+T]V(*RW(9<#IQ&;ZJD#
M5^3.//DGBK4V#8]BV#S.^/R%=N=&O1^0I+N:KO%W7'Z=)KR01AU)?S;??&4C
MF$FT,697"P6#M:"L]^ B\V Y<AX%X[IY/FAHGGH;K3D<Y+M"1P>[I=%-@D3F
ML_86K"7SH+@K$&@Q4)J3B?#*1-YZ3YSPSNB$ SZ[OS/:1]--W]>/__SP(C3_
MA&MRT&9W>1SL+>+=-<=ZF+B%\Y.^4M1)*:M5 :=K1SB!GO#O&%B-=<"=3Z;Y
M2_43O5)\U!';'$2K&T\LR4)GB^>@51:T]VC[^V@=2.NTPA2,M*VK:W>CK),J
MD6;8V=%1/D8_S<[^QG;QL@<C>4'7%N$04_?89YI8KV?I:V20+D=@;T['V33=
M[GR9L],Z"@N8@P=E*"@/Z",X.INC,LIXI5H' $]2<W2F:GD6YM/_W&CBYD"X
MR%Z_OZ6E=^41R=>6@;/%ZGR)'TGL/\QJRV*TBC,,&D3@%"YF9R!FY6K/[.)E
M275>>.N$56,>QC5GC9#W(!\UIJ)[M797$W]^Q[.#3=V#;S2Q<]LI:^5U77S\
M WZI$<#\[";Q&8N@8[( !11U,"=:""92H"&L\-(XI73KH<]/T7*T;W7ONX]!
MN9::^RCJJSU6"^&*AN )V09UP,#K$YKF)8_/DS6R5]4"&P\<J<;*Z-6N?,"O
M.#_'0\S)U5]M8D4>I:.1\;C\=FTD_[HF"@@;_S9=?WI]OEHO/N/R&B^^L*)<
M\B 3AGIH%?#,Q'J=PJ)7V11L_YAT)]*.?SV[=9D;2"O/E*T\ZU0A;:6$*+BB
M<QN-%22>U'PR[ZZTC6MDAL#0PS>W VBI5\/SRV*1_YC.9F%^\8KO#7US?C:-
M,WRU6N%A#LZSWVQBJO:CO)$-NUJ4?.#[Z]T<3=<H5#$IK[6"G PG@.C:FT0P
M\$9B9(D;AZV]HKT(/-:>[;38S7X)P=*YK"-D(>NX8,^!OIG 2&6T52)&WGK0
MP'X4CFO;AL/6?0LWH-YZM7.707(MFL#IUTUGM0,LVR-?:6++GJ.N;8[JUC(W
M-YHWBK])'RA>ZLP&3\&Z%:1XA1!4-!"RS-FYPD@VPR2N=B7Q6 OV=A'FJ]\6
M:UQ]7(:,KR[/DIO5']T0N3"=I"T0K$;R+DH$;TL=NL6E3M[[Z%I7HAQ$:!=Y
MJ4'0=M^B#:_'7@U;G?X[)Y ?U.STYB\W,6-/T-+(>EU__9'3T!5RQH.L5R>L
M-IZD(S'4"KB",F;)ZJ'8.F#:0L[QS\(??/H&M,SQ4)O3@X\\@XI%@RNZYG1#
M*BBBULWSY=OH&?L1;1M,/'SYW4@#O9J-.JQT?3FL--3Y")M&+K^&=5WW$%.R
M_8--S,L>-#<R.76E1Y E'3,IA0R&2SJIG"<H!*; HS(^F!2+RXVWX..4'&MH
M[G[U!N$6O;"Z($$ZU?XJ,FR::H)Q62LGH]7-([4G2!G7O#30_WW+TD+DO1J5
MJRYU[S>%[+5I9BUX.,2://&E)F9D%RH;V8];2VT6N4:0P-KT)A5(ME[,IGJ$
M!.<@8BX^JI)D:-[>]PE:CNY??.^[-Y NMCA3D["V,-HF&1-$)R5DIV)42B9F
M6[=;>)*8D9O2ML#!@Q;&303?JRVY-<?BL,CFYJ\WBFV>H*=9='/Y_4?.&_(V
MI2+E@8ZE4&2<,T1N$# X)6P(@3?/PVPAI]ELF$>+1+C0-M0KW)SJE.#JM&M1
M^RMGEDTVWJC6)8O;Z!D[NFF#B2=GQ!RK@5Z-QZ;^\H?[+S(.L2-/?*F)2=F%
MRE:%._6 >+#4-9@XZ4Z;K$'$($&9), I4GRQGLX@HXMJ_D1I.T5'!S;7P'Y7
M[C[*V<2,KTD3JQL*WH=O%R]\;KQQRUC('B$')NNKA0!THG+P):@2C-<$Y=8!
MT'$DCUS\TPY?#P*F$ZJR5WOV<Y@N-\_%?MVT=#ZBS/K1#[4IM'Z>QD;&['JE
MQVX10@XZD-\,(>52*S_H($M" Y/*&"&R$:[USMU&S[&&[+%OW[J9U3')8A6=
M^B6#4O5]E[&>2/29>4'X#*T?^V\E:%PCU P7]TU0.R7T:F ^X'IZL64W79X.
MJT.\^XE&]8A;Z&J5I"'N%M\0+P^4M],0I[/I>HJKBQX]ZU?S7!\W7O[DNL2,
M"^X=G2M.<T7GBH\0'--@N4XB^"RY;+WW#J/TZ ::M1O%INQ_<Z?ZGE2TO%;+
M96^P1Z]7E0_(F#"0?-2@O,EUB'T!DDVP*O#@<NMNQ8?2.G)Z:'@$/NC1>0JE
M]FKM:MIW>O&H/\SKL]9:6HZU:_2UX ^Q@+M\MM&+W#WI;V0I;ZW[ZM:Z]<G1
M8Q5JRB8O:OEMK+U?+8\0;=+@A<[,H"G.M[ZHWHO %M/7GEWL5EX%;>3&J]J3
MBAP0%R5X%(RVK \&>2PV#3&:;7<*Q[6!PV'KL7EN ^FM5X/WR N]J[>"!T61
M6SXWU*/=Q^D=_O&NUD8P30=<,+S6B 4'CA4+Y-1[8XP-PC;OWC/8X]T?PFJZ
M>E?N+?#MXM\WD$^<& ["@TF9SGB1;.59@96)_LL=&H&->=Z-LBX*&H]%R7U[
M-(!2>K5#]Q^I;F; -'E$>_FE09[2/D;ET ]JG2W..FYJ84FHOCV'F+2 5)SA
M"JVTI7GKCH$>U-:65V3,9]/+Y^*WWE==2WAQN[?,#>9==K1WI 6,C+:5H!]Y
MYC0DF6N30Q.PM+[X/)S:3I_?[H.DAT_A3J*Z#OJ:W>?TW1=<AHTQOAYFL0O7
MVL3L.3FBTD1!T3$G(VTT_12##=IQY7CK;=N&\I&'@IT"O"=0:8= OGC6=8O1
MI_@4 ;&4D"'7RD:5DX$H% -="F?"*8I\6A>U'DKKN+VR3P+60=36JUMX>:P<
M[@W>_4#+3@@#^GZ[OF6//!N9#!VBB<Y/E2*=I$E[\#(KP:UCJK2N%1VX'T)5
MX.3W] GS^0ROO8K5#]]^#?^^6))YSN=I,\)O(_U;5_DZ\(S& #)!&\S:1/&6
M-* *(PGQDG7.ST'EP+5?1MN#?:!R98%.H8P.SL4?IZMP=K:L7<MON[+WF/)&
MV3J<!H+(MM[E1B"91G)=F0Y9%..3:+S7=B)L7/=L2/@-IY\.0/>HM.K)_FI^
M?<OW[1Z+PLF0)2??P=?N_:)X<(X5T)RXC2B,8:W]L /('-<%.P4@A]9=K\[8
M<WU5#O?2=OSR2;K##.C7[=?'@Y4ZO1P)(Y[7I^]<0"Q20([,:A]+2KQU<]"3
M]HBY\2RNEKV5THZ<$X<%#!9>&XO4%_]>078!I2)91-W:U&TAYR5U?]D'-0]Z
MZC722 ?GZPTK/T_GTS6^G7[%!^*[[[<:E-$+!A$UJU,7$KA8 MCD!/.<>U]:
M5R4=0.:X#M\88!Q&@[V>L@^;HQQ^KC[YK8%Z$PUX=N[;,T8+5F1B"EB(#I3+
M#'RN+Y9,]$I+@UFVWLPG[E#TR'*SV>*/,$]UDN1K@O-%*OO>'D&.V@;%0(J<
M02&%Z,Y'!B98H722GNL3"&8'2KNXTA\$;P]&"0VOR5ZMW74[E<.-W/U/M&U8
M-*!)V]:B!J.RN=#Y19 *='*J#,$Y Z18[E%*$47KXJ(!VQ;=G.77BUS6+]^#
MM$;O#.T6,#ZP6LJ2(%2G$VW"$K4WQ31_;K@C;6,_^&V#E:>]K(::Z=78;&T3
M=+@!VN6SP[<Y&M!0/='LINBL70P&@B^R>O=T_G 7 8NQ(1?M@VK=['"89D<W
MFZ!^_\V<OGI^[ZUH$B'YG#)D6]^IEE@C"Y?HK)5,:R-]\JVOVIZGJLL62/N@
MXFEKU$01O=JAQ_L,'6Z MGYOP,Y( YJ<)_OBA(*9U\M%IQD'99@ K[P )I,*
MTB,3V-I#&*H_T@W:[Z]0"W_3JWG^<3H[KS4==X_BK+D5]<FZ9S74R,R!RYQ#
MQN*(_U1X&BY/M1>IG?96V@=#3YNHX936J]UZO"W)X79KZ_<&;*0R9-GV]G87
MWF%1A4<H=%#5KEZ\/AE2X%!PC#:$XEL_]1JVG<K-=OAM00'$J@X W>RUM)Y^
M?7@-*E,2ROC:,TC76X0B:!?0?@@F*,9]<AA:OQ_9C\*NFZ7L@YZG[59S1?5J
MKA[M.W*XM=KVN>'ZI QHJ[9VQ=#)"R-)]W16(JA(YY4OQ0)'*P3W@KGFS:2'
M[)9RZS;I:I6+&Z1;-1M37%U*/K^;?\#ZJ)[.]\TCK/N95RFT#-:!R(Z"$*\2
M>"L5%%$<#X59Y8:+!ALPT'$WEGUPM^7*\,1*[M4$WNN2<DP=]6,?&J*3RY!!
MY6'=-%1T.EIO@,LZJ-X1+KUR=!8*X9DJNDAL78PR3C^7V^F7,IUCOFSWL='+
M[0Y'54439<@98,9#[51;9U0'\)Q^Q#W6=ZWHF!_.E]N!P!?9N64?K&W+GK55
M7P<%/7>MQ.]?ZI.7Y=OZUZI"_YRN)BH192QP0",8J-HV.8ABR%E.%HDC)G/[
MUQ#/$#5R.#$<(!X\4FJIG=[A]N/B<YC.)]HFJUGQ$!VKX9BB&,F3U+B+EEF?
M C9OOKP#66._1VD*A'U@=H!6.@ :44W!^#15AG[%SQ&7$Y:L8SQ:<-+7OJ2J
MT$94#JR1C 6M! 7@K>_5'E#1,8P.4?3]-R7'27U$W&PJA9;?)G__?6)DSE9H
M Z(.S5:2: ^1<=I.P1KKBK%FFP.VPO37L\77[R^_> &3RY_<(.1FO9%O&X_4
MV.(H\75@*'Y>+'%Z-K_%OT)9RV@5R/JT6%%$"M&3PVA3XB$6E@5O??_^@(BQ
MGY\-:R:.DWD'5N*7'R9"1[3.) A*(B@B$GRAB(+(]9(7E\/6-E7[68E??A@Y
MM72<PA9'2:\#(_'0S[]Q\]_2[[Q9X^?5Q&?F="H28E+DZ:L8P;&0P ?.N6,6
M@VP_I6P'PD9N-7*R:*F]E@Z&WE=<QD7S-S>_X56GV$T3_GN)53IE;0PE@766
MSFV&#%P4 9+U#&-TVOK6Y]:.I(U=4-4<%D]? C;34 =6[X:M#3/UB?C#E/(-
M=^0(<"&R!*GK<-^D$D0T!0J/R-#ELMUO/@Y_NU XKAT\)0R;ZZO7BY@=&C,?
M?CFS^\=/U61ZP$N<_=H!>^=MT>A !*EK'4. & 2Y<]$6JY@,=(XWWNLG:35]
MKS?+S^=K^NC5B)MWY2V>A=GON%[/;E41W&K5KH)+;O,:TRERBK."6&<!ZF!0
MJEKB<7],[;/M<O:CX"5UE-X'0D^TSAE0/;T:O/NM4N^V,5M<=7$IM_KLK>\T
M,OL1UV$Z:]("]N"U!VD:VT820[>992&&;'0!D^O\42[I:#>2 UKDP6/0UC;O
MP#!0F]F;?7A_A3?SLEA^WNCAAV]7[?0VX1U3TAF9&918>\F[4L!QY2&C2H)K
MQ;UJW7SC #([;2R[#W:>]@V'458/X<I5Z_K[EF%S/^:%LKH.[30RB9J6-O4-
M,4+ F!@K)6C5>C;R5H)ZN<(>" [WX==,-ST [8+VRT2X*M&4J!V4PG-M5^L@
MZH"07$P^14Q2#631>[B8;JC8^Y Y6,HC0F3CH'X@M^(CID_SQ6QQ5H<6S//O
MN/PZ37@EG<LD>B$;3MZO@6BUJJ.=(H1B"]AH4Q:9A7Q_0LT3\<*N*W9QL!VB
MT<70XAT;,^^7F,)J3?YI6N(:+[N KJYN6ZPN%ME5]2XS%"LQ[T")FC,4K(C[
M-PM/ &7K,EVT)#\6'>T$.38D?E\CSJ[H)Y#?>KYPR4UB7$M%T7.Q@8-"9L I
MBFJYUS8*A]P:MA,LGEVJBP;@QT*CK4!'A,=JN9[<1+*DA$WN>'/BFI1R44Y!
MMB[1B>LRN-H5,V<FF<N^2+U3\1PM<<L3H9_=>"%/K][+1>.P/FTCZ7>'G\OM
M%3-*W-SLL]H)P H-(7(&*'0L,E@9]$[7.'LC:$QWMI5.MT+D  %W$.U<3_&X
M\NPO;67&DG04'F)F%E2LK7X%6G")(RKTF<QTX[CG"5)Z@LPA.EZT%W@'N-EB
MA&]==ZI4;S0]B%2KR(K)$++6X)@RJ61I0QDZ'?H872.[.Z=.SK365 ?H>Z9A
M^9MYFIWGFEQ=K9#^R1_#GQ-C8R&?DH.6GC88<Q9B+60-GC-1K' FMTY.'T!F
M%S%\0ZP\>(LPK.+VQZ:_P.8<UVW/4V*%.*H-*"<>K2K>&@II1"'33J*+A38S
M)HS*2)3$W5!GZ0T97<3_PR'K6,&_U"OA1\:PC7(]?! =)[DJ/EY"0U\;(^;,
MK> @0B +YU"#9Q6Q7G#4FGF>RPNY-CYN2N#&V?$YT,Y,'H*VL29VJR?L)42=
M378I)A=;F\OCJ>[KW#X(66T'/NZMRNXR)IO\ #/>2ADR)"UJAVJ?B)>T:5-=
MBI4J<;;3UAPNXS;@<\+3ZO_Y!-P^RN@.3E>Y VM%\1C)FR7W9O/^SB'/(&4.
M1@3K'!\&4)TFX/;2Z4X)N#T$W$$H^U0^R!:=BU<"&+><MDZJ; @#G!>4D6&R
MJO4[^1>4@-M'QSLFX/81> >XN7_D7UMKBH!(4C\OEMOM]5US?2L&*R4856?
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
M;#[]3\R3[&7P:!58;049?)[ U4P*)^ZRB13P^M;9IOTH'*>!Y-AVL)'&.H]
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
M<N/IJ[< 1C^[ =>=!7NYN6JKS<6QHNT!#Y<IKFB(0<,SL%3P(@\2O([ R)=
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
M!:^):R_GL]5T=DZL>O\5%Q>-0>A_G)[GNJ_GB[6\5JO%-)ZOZK79;_-W<WK
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
M=[AMO/4<,BKN#?.E3E6B\Y.!%8JA*,1'#\7RUI'5+<@:%W*-@; +S/:02@=
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
M1N:%9#&HHF)T+L36,XB>HFE<Q3<<?NYT9VLIFQ&/VXS3R5O\#*>OB/[5]W4
MM2CTRDC-HB]DX8+V#.HM4-3)\:P\*+.-0T>/OD 4?7,-I'M>."YFVDIRWH:M
M(R/B@NI-?*,HF23XPG*J/3&C5BRH@,R(S(46&#,\EHC\-!QNOFT<+!PLKGD#
MWHT]_?#WKXO%QL>5R1&!G#,50TU<,8:63;1G10JR>$WFG'G*F+GUS/$$N[]
MYH=S9T2A+A>KR3_@O^>+E^?+U?R,GK?&-82B MC$5)T!JF6*I,X*,AN*L< U
M&+M5&38]_H;!0)^N-_7];Q[7!1]$S3=@\<@ >0=G^+[\L(;+$<8\ZZQ4O??0
MM16RT<R7S)E/@8PD$Z5(6X5SGL#)@P2,HS!:2'3>FKVCGPP?/G[<Z#XNZ0PL
M'IE:#WU"'UG(&)C/*M:6QD'?1L5#)\/5,\<3="/IS ]G50<!MT<4Y'6XR$?K
MI 1@7M6,UA(T"R(BD\EFSRVMZW;+W"$]SMVBNX.58 QRM PFE@Z@]G:ZFGY>
MB^<3KE:GZ_O5D[-Z1W+R%Y"P\F_S]ZLON/@ B]7W"<]9F"0YV5=<,NT-<0]3
M8%;%Y+F3(4)KS.U$8+?NZY[XF!]+6&,?:SNM;),R.RE120\ATP*S8]HIPT()
MBDGEG"F%!^W*5@?@/F_OUH0^#&K'D<:S@MN[^>QRC1I<Y+D.0K*&;$\0M1FH
M5\QKD;+22CACVR/NFH!N#]=C@VY/F?2(NS>SY0I.3]>)3?"]_O,;+LZ(C]I@
M]+0L0-+>1=:[.IZ8S(D\(,Q ENS>4+O_G>-6*QX?70TXWX,%-Y]]KG1_.%^D
M+[#$ZXN7B]TS$0:)XASJW ==QR<! R\**S&FE$+M.-6Z>\53-(U;ECB\G=92
M)*/K+%K,ZO[%S&;G<'IG<4IQK;TN3#F5:A)-G;1D"G,ENJ(#<=%MJ;EV?/-6
MJ++/#E7#2V%LB%U.G:!%?(79%)<?,>'T&W'O5YSA D[?S5?3A&])<Z^G4=I4
M4""#$DSEH:E=^LG-02FX";:X"%OA:Z?7;@4N]SS!-1S_QT;6APLY_1-.S[&V
MQYA_G2]K*Y<SS%,X_6.^^'/BC90AH&$YU ;_6"-"&BT3$E$KC1AO7[$_ *>G
MW[45AOSSQ%!C3H\-G-]G>;I,\V^XN+6(!+GH'(%%(6L ,3A"O[:$AU*B >^<
MW XN#[UA*Y"$YPF2)EP=&QHW"3\A[J3IUUK3_?(48?;[UXOF$Q,./$*!VG(G
MUEN+[%D$,,PE:R#E*%/46\%DF[=M%_;DSQ,SS=D]-GXN3]L/\Q4QEU9V^OTC
M+FL]TS2>8@UOT G\9I9.SS/F-[.3SPM<NZND/X5WQ1FFO Y,9]HI= 0#R]P;
MSYW5_O84\B<,GUTIV YGSR^^?CRQ=(.]B^5\Q/\YGRYJ:(WV49DOSGY0REQI
MT-%H)HHE0P^L8,%Z38 *11BO>-%Q-[QM\=;M,/9, ^N#L7]L7+V:?9LNYK.Z
M'^"T-ORZP;=/)+[U3GE?7D]G,$NTP _SY;3*]%5-5E]OL%>S\S-<K 5-WL8F
M11CSZU/X/,$<!!D'EB4M'--1&!9E 68+9NDL9,.WBR@,2N9VR'VFT?E^!-Q!
MR/4DI<4YG+Z>+QYA"^WO"4@#Z#FRDGDU2X0BL[;0CJ9EVJ0YU[)UU?:VM&V'
MUN<7[1]41L^X*.IB&N;FGN.0WG![O^M8Y5%;K'24&BEGT M'UB%A.I.2XY(%
M3VCCUEBK;-1:/LL:J=UO;R][^N6-D,CL@2G)@RRC]3#6VJE#RIK+7;0@3N7
MP-6XD0M*YQRYMMLYSRVI>D[E5+M ;?]+^)9B'-N /6CA=;7O9SBALP.\\IFA
M%L"TL\AHT9S5P6#"12[,[2K((7"[H6;<!*7G@-=]Q-:!];E;%J"OV<T:(N-1
MZCIJBEBK+&=<)6D<5S:%UA-3VJ=L#N8T#0_3X:4V?+OBS2_JEPA+_'__Y_\#
M4$L! A0#%     @ X6.J5MI,]3DX%   _*$  !               ( !
M &5X+3$P,7$Q,C R,RYH=&U02P$"% ,4    " #A8ZI636S![18;  ""GP
M$               @ %F%   97@M,3 R<3$R,#(S+FAT;5!+ 0(4 Q0    (
M .%CJE91IPLK?R@  !+S   0              "  :HO  !E>"TQ,#-Q,3(P
M,C,N:'1M4$L! A0#%     @ X6.J5J?7?$$$"   YB4  !
M ( !5U@  &5X+3,Q,7$Q,C R,RYH=&U02P$"% ,4    " #A8ZI6TI>E>1<(
M  !?)P  $               @ &)8   97@M,S$R<3$R,#(S+FAT;5!+ 0(4
M Q0    ( .%CJE;4]O?7' 4  .T<   0              "  <YH  !E>"TS
M,C!Q,3(P,C,N:'1M4$L! A0#%     @ X6.J5LJQ@M+,B0$ -!83 !$
M         ( !&&X  &9S='(M,C R,S S,S$N:'1M4$L! A0#%     @ X6.J
M5G)@K"TY$   ]+(  !$              ( !$_@! &9S='(M,C R,S S,S$N
M>'-D4$L! A0#%     @ X6.J5A0%5:E$'0  #AX! !4              ( !
M>P@" &9S='(M,C R,S S,S%?8V%L+GAM;%!+ 0(4 Q0    ( .%CJE;^5'\F
MM4<  $$2 P 5              "  ?(E @!F<W1R+3(P,C,P,S,Q7V1E9BYX
M;6Q02P$"% ,4    " #A8ZI64"1N8((L  "Q+   %               @ ':
M;0( 9G-T<BTR,#(S,#,S,5]G,2YG:6902P$"% ,4    " #A8ZI62H1M6HK%
M  !G!P@ %0              @ &.F@( 9G-T<BTR,#(S,#,S,5]L86(N>&UL
M4$L! A0#%     @ X6.J5EO!'5UF>P  C(0% !4              ( !2V #
L &9S='(M,C R,S S,S%?<')E+GAM;%!+!08     #0 - $ #  #DVP,    !

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
