<SEC-DOCUMENT>0001437749-26-013887.txt : 20260429
<SEC-HEADER>0001437749-26-013887.hdr.sgml : 20260429
<ACCEPTANCE-DATETIME>20260429162009
ACCESSION NUMBER:		0001437749-26-013887
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		14
CONFORMED PERIOD OF REPORT:	20260429
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20260429
DATE AS OF CHANGE:		20260429

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			NWPX Infrastructure, Inc.
		CENTRAL INDEX KEY:			0001001385
		STANDARD INDUSTRIAL CLASSIFICATION:	STEEL PIPE & TUBES [3317]
		ORGANIZATION NAME:           	04 Manufacturing
		EIN:				930557988
		STATE OF INCORPORATION:			OR
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-27140
		FILM NUMBER:		26916424

	BUSINESS ADDRESS:	
		STREET 1:		201 NE PARK PLAZA DRIVE
		STREET 2:		SUITE 100
		CITY:			VANCOUVER
		STATE:			WA
		ZIP:			98684
		BUSINESS PHONE:		3603976250

	MAIL ADDRESS:	
		STREET 1:		201 NE PARK PLAZA DRIVE
		STREET 2:		SUITE 100
		CITY:			VANCOUVER
		STATE:			WA
		ZIP:			98684

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	NORTHWEST PIPE CO
		DATE OF NAME CHANGE:	19950925
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>nwpx20260319_8k.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:us-roles="http://fasb.org/us-roles/2020-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:rr="http://xbrl.sec.gov/rr/2018-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:nwpx="http://www.nwpx.com/20260429"><head>
	<title>nwpx20260319_8k.htm</title>
	<!-- Generated by ThunderDome Portal - 4/9/2026 11:05:25 PM -->
<meta http-equiv="Content-Type" content="text/html"/></head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;"><div style="display: none">
<ix:header>
<ix:hidden>
<ix:nonNumeric contextRef="d20268K" name="dei:AmendmentFlag" id="ixv-271">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d20268K" name="dei:EntityCentralIndexKey" id="ixv-272">0001001385</ix:nonNumeric>

</ix:hidden>
<ix:references>
<link:schemaRef xlink:href="nwpx-20260429.xsd" xlink:type="simple"/>
</ix:references>
<ix:resources>
<xbrli:context id="d20268K">
<xbrli:entity>
<xbrli:identifier scheme="http://www.sec.gov/CIK">0001001385</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2026-04-29</xbrli:startDate>
<xbrli:endDate>2026-04-29</xbrli:endDate>
</xbrli:period>
</xbrli:context>



</ix:resources>
</ix:header>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>UNITED STATES</b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>SECURITIES AND EXCHANGE COMMISSION</b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Washington, D.C. 20549</b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>FORM <ix:nonNumeric contextRef="d20268K" name="dei:DocumentType" id="ixv-17"><b>8-K</b></ix:nonNumeric></b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>CURRENT REPORT</b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Pursuant to Section 13 OR 15(d) of The Securities Exchange Act of 1934</b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Date of Report (Date of earliest event reported): <ix:nonNumeric contextRef="d20268K" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" id="ixv-282">April 29, 2026</ix:nonNumeric></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 18pt; font-variant: normal; text-align: center; margin: 0pt;"><ix:nonNumeric contextRef="d20268K" name="dei:EntityRegistrantName" id="ixv-28"><b>NWPX Infrastructure, Inc.</b></ix:nonNumeric></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Exact name of registrant as specified in its charter)</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td style="vertical-align:top;width:15.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20268K" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="ixv-37"><b>O</b><b>regon</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20268K" name="dei:EntityFileNumber" id="ixv-42"><b>0-27140</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align:top;width:15.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20268K" name="dei:EntityTaxIdentificationNumber" id="ixv-46"><b>93-0557988</b></ix:nonNumeric></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:15.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(State or other jurisdiction&#160;of incorporation)</div>
			</td>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Commission File Number)</div>
			</td>
			<td style="vertical-align:top;width:15.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(IRS Employer Identification No.)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><ix:nonNumeric contextRef="d20268K" name="dei:EntityAddressAddressLine1" id="ixv-58"><b>201 NE Park Plaza Drive</b></ix:nonNumeric>, <ix:nonNumeric contextRef="d20268K" name="dei:EntityAddressAddressLine2" id="ixv-60"><b>Suite&#160;100</b></ix:nonNumeric></b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><ix:nonNumeric contextRef="d20268K" name="dei:EntityAddressCityOrTown" id="ixv-64"><b>Vancouver</b></ix:nonNumeric>, <ix:nonNumeric contextRef="d20268K" name="dei:EntityAddressStateOrProvince" id="ixv-66"><b>WA</b></ix:nonNumeric> <ix:nonNumeric contextRef="d20268K" name="dei:EntityAddressPostalZipCode" id="ixv-68"><b>98684</b></ix:nonNumeric></b></div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Address of principal executive offices and Zip Code)</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Registrant&#8217;s telephone number, including area code:<b> <ix:nonNumeric contextRef="d20268K" name="dei:CityAreaCode" id="ixv-74"><b>360</b></ix:nonNumeric>-<ix:nonNumeric contextRef="d20268K" name="dei:LocalPhoneNumber" id="ixv-76"><b>397-6250</b></ix:nonNumeric></b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20268K" format="ixt-sec:boolballotbox" name="dei:WrittenCommunications" id="ixv-283">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="width: auto;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20268K" format="ixt-sec:boolballotbox" name="dei:SolicitingMaterial" id="ixv-284">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="width: auto;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20268K" format="ixt-sec:boolballotbox" name="dei:PreCommencementTenderOffer" id="ixv-285">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="width: auto;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20268K" format="ixt-sec:boolballotbox" name="dei:PreCommencementIssuerTenderOffer" id="ixv-286">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="width: auto;">
			<div style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Securities registered pursuant to Section 12(b) of the Act:</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%; margin-left: 0pt; margin-right: 0pt;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: bottom; width: 34%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Title of each class</div>
			</td>
			<td style="vertical-align: bottom; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 26%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Trading Symbol(s)</div>
			</td>
			<td style="vertical-align: bottom; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 34%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Name of each exchange on which registered</div>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 34%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><ix:nonNumeric contextRef="d20268K" name="dei:Security12bTitle" id="ixv-130"><b>Common Stock</b></ix:nonNumeric>, par value $0.01 per share</b></div>
			</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: top; width: 26%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt 0pt 0pt 8pt;"><ix:nonNumeric contextRef="d20268K" name="dei:TradingSymbol" id="ixv-135"><b>NWPX</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: top; width: 34%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt 0pt 0pt 8pt;"><b><ix:nonNumeric contextRef="d20268K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-141"><b>Nasdaq</b></ix:nonNumeric> Global Select Market</b></div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 36pt;">Emerging growth company <ix:nonNumeric contextRef="d20268K" format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" id="ixv-287">&#9744;</ix:nonNumeric></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">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. &#9744;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%">&#160;</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">&#160;</div>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align:top;width:3.7%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 2.02.</div>
			</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">RESULTS OF OPERATIONS AND FINANCIAL CONDITION</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">On April 29, 2026, NWPX Infrastructure, Inc. (the &#8220;Company&#8221;) issued a press release announcing its financial results for the quarter ended March&#160;31, 2026 and its current outlook. The press release contains forward-looking statements regarding the Company, and includes cautionary statements identifying important factors that could cause actual results to differ materially from those anticipated. The press release issued April 29, 2026 is furnished herewith as Exhibit No.&#160;99.1 to this Report, and shall not be deemed filed for purposes of Section&#160;18 of the Exchange Act.</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 9.01.</div>
			</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">FINANCIAL STATEMENTS AND EXHIBITS</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;">(d)</div>
			</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Exhibits</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_935306.htm" style="-sec-extract:exhibit;">99.1 Press Release issued by NWPX Infrastructure, Inc. dated April&#160;29, 2026</a></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#160;</td>
			<td style="vertical-align:top;width:0.9%;">&#160;</td>
			<td style="vertical-align:top;width:41.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">104 Cover Page Interactive Data File (embedded within the Inline XBRL document)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%">&#160;</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">&#160;</div>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>SIGNATURE</b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">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 hereunto duly authorized on April 29, 2026.</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 46%;">&#160;</td>
			<td colspan="2" style="vertical-align: top; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>NWPX INFRASTRUCTURE, INC.</b></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#160;</td>
			<td colspan="2" style="vertical-align: top; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">(Registrant)</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: middle; width: 46%;">&#160;</td>
			<td style="vertical-align: middle; width: 4%;">&#160;</td>
			<td style="vertical-align: middle; width: 50%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: bottom; width: 46%;">&#160;</td>
			<td style="vertical-align: bottom; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">By</div>
			</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 50%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">/s/ Aaron Wilkins</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#160;</td>
			<td style="vertical-align: top; width: 4%;">&#160;</td>
			<td style="vertical-align: bottom; width: 50%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Aaron Wilkins,</b></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#160;</td>
			<td style="vertical-align: top; width: 4%;">&#160;</td>
			<td style="vertical-align: bottom; width: 50%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Senior</b> <b>Vice</b> <b>President, Chief</b> <b>Financial</b> <b>Officer, and Corporate</b> <b>Secretary</b></div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</div>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&#160;</div>
</div>
</div>
</div>


</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>ex_935306.htm
<DESCRIPTION>EXHIBIT 99.1
<TEXT>
<html><head>
	<title>ex_935306.htm</title>
	<!-- Generated by ThunderDome Portal - 4/29/2026 2:21:44 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="margin: 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt"><b>Exhibit 99.1</b></font></p>

<p style="margin: 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<p style="margin: 0pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><img alt="nwpxinfrastructurelogo-lette.jpg" src="nwpxinfrastructurelogo-lette.jpg"></p>

<p style="margin: 0pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>NWPX Infrastructure Announces <a data-tblloc="44x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766103606">First</a> Quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766121022">2026</a> Financial Results</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif; text-align: justify;"><i>Net sales of <a data-tblloc="2x1" data-tblname="531965" data-tblv="28" id="led531965F20243101712767677959">$138.3</a>&nbsp;million, an increase of <a data-tblloc="2x4" data-tblname="531965" data-tblv="28" id="led531965F20243101712767704514">19.1%</a> year-over-year, and record first quarter gross profit of <a data-tblloc="3x1" data-tblname="531965" data-tblv="28" id="led531965F20259151760561954077">$26.7</a>&nbsp;million, an increase of <a data-tblloc="3x4" data-tblname="531965" data-tblv="28" id="led531965F20259151760561985893">37.7%</a> year-over-year</i></td>
		</tr>
		<tr>
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif; text-align: justify;"><i>Record first quarter Water Transmission Systems segment (&#8220;WTS&#8221;) net sales of <a data-tblloc="3x1" data-tblname="532978" data-tblv="28" id="led532978F20259221761155468300">$93.5</a>&nbsp;million, an increase of <a data-tblloc="3x4" data-tblname="532978" data-tblv="28" id="led532978F20259221761155497078">19.1%</a> year-over-year, and gross profit of <a data-tblloc="4x1" data-tblname="532978" data-tblv="28" id="led532978F20259221761155507286">$17.3</a>&nbsp;million, an increase of <a data-tblloc="4x4" data-tblname="532978" data-tblv="28" id="led532978F20259221761155514870">42.3%</a> year-over-year</i></td>
		</tr>
		<tr>
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif; text-align: justify;"><i>Record first quarter Precast Infrastructure and Engineered Systems segment (&#8220;Precast&#8221;) net sales of <a data-tblloc="11x1" data-tblname="532978" data-tblv="28" id="led532978F20243101712770094335">$44.8</a>&nbsp;million, an increase of <a data-tblloc="11x4" data-tblname="532978" data-tblv="28" id="led532978F20243101712770086064">18.9%</a> year-over-year, and record first quarter gross profit of <a data-tblloc="12x1" data-tblname="532978" data-tblv="28" id="led532978F20243101712770196269">$9.3</a>&nbsp;million, an increase of <a data-tblloc="12x4" data-tblname="532978" data-tblv="28" id="led532978F20243101712770187361">30.0%</a> year-over-year</i></td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif; text-align: justify;"><i>Record first quarter net income of <a data-tblloc="7x1" data-tblname="531965" data-tblv="28" id="led531965F20259161760655796518">$10.5</a>&nbsp;million, or $<a data-tblloc="16x2" data-tblname="531966" data-tblv="28" id="led531966F20243101712767846676">1.08</a> per diluted share</i></td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8226;</p>
			</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Record WTS backlog</i><sup style="vertical-align:top;line-height:120%;">1</sup><i> of <a data-tblloc="6x6" data-tblname="532000" data-tblv="28" id="led532000F20243101712767888362">$373</a>&nbsp;million</i><i>; record backlog including confirmed orders</i><sup style="vertical-align:top;line-height:120%;">2</sup><i> of <a data-tblloc="7x6" data-tblname="532000" data-tblv="28" id="led532000F20243101712767896372">$430</a>&nbsp;million</i></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif; text-align: justify;"><i>Precast order book<sup style="vertical-align:top;line-height:120%;">3</sup> of <a data-tblloc="9x6" data-tblname="532000" data-tblv="28" id="led532000F20243101712767935902">$55</a>&nbsp;million</i></td>
		</tr>
		<tr>
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; font-family: Calibri, Arial, sans-serif; text-align: justify;"><i>Repurchased <a data-tblloc="3x5" data-tblname="532972" data-tblv="28" id="led532972F20259221761155055971">$2.2</a>&nbsp;million of common stock</i></td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>VANCOUVER, Washington</b>&#8212;<a data-tblloc="2x1" data-tblname="532975" data-tblv="28" id="led532975F2024981728413568499">April 29, 2026</a>&#8212;NWPX Infrastructure, Inc. (NASDAQ: NWPX) (&#8220;NWPX Infrastructure&#8221; and the &#8220;Company&#8221;), a leading manufacturer of water-related infrastructure products, today announced its financial results for the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter ended <a data-tblloc="5x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393699871">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393709287">31, 2026</a>. The Company will broadcast its <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766121022">2026</a> earnings conference call on <a data-tblloc="3x3" data-tblname="532975" data-tblv="28" id="led532975F2025371744043519882">Thursday</a>, <a data-tblloc="3x4" data-tblname="532975" data-tblv="28" id="led532975F2025371744043538891">April</a>&nbsp;<a data-tblloc="3x5" data-tblname="532975" data-tblv="28" id="led532975F2025371744043549547">30, 2026</a> at 7:00 a.m. PT.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Management Commentary</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#8220;We delivered a strong start to 2026 with first quarter results reflecting meaningful growth and margin expansion across both of our segments,&#8221; said Scott Montross, President and Chief Executive Officer of NWPX Infrastructure. &#8220;Consolidated revenue increased <a data-tblloc="2x5" data-tblname="531965" data-tblv="28" id="led531965F20263161776364940215">19%</a> year-over-year to <a data-tblloc="2x1" data-tblname="531965" data-tblv="28" id="led531965F20243101712767677959">$138.3</a>&nbsp;million, while gross profit grew nearly <a data-tblloc="3x5" data-tblname="531965" data-tblv="28" id="led531965F20263161776364910897">38%</a>, highlighting the operating leverage in our model and continued execution across the organization.&#8221;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Mr.&nbsp;Montross continued, &#8220;Our Water Transmission Systems segment generated <a data-tblloc="3x1" data-tblname="532978" data-tblv="28" id="led532978F20259221761155468300">$93.5</a>&nbsp;million in revenue, up <a data-tblloc="3x5" data-tblname="532978" data-tblv="28" id="led532978F20263161776364982296">19%</a> from the prior year, supported by solid project execution, gross margin expansion of approximately <a data-tblloc="9x4" data-tblname="532979" data-tblv="28" id="led532979F20263161776365037512">300</a> basis points, and a record backlog including confirmed orders of <a data-tblloc="7x6" data-tblname="532000" data-tblv="28" id="led532000F20243101712767896372">$430</a>&nbsp;million. In Precast, revenue increased nearly <a data-tblloc="11x5" data-tblname="532978" data-tblv="28" id="led532978F20263161776365000330">19%</a> year-over-year, with margin expansion of approximately <a data-tblloc="13x4" data-tblname="532979" data-tblv="28" id="led532979F20263161776365027595">180</a> basis points, reflecting both operational improvements and sustained demand.&#8221;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Mr.&nbsp;Montross concluded, &#8220;Looking ahead, we believe 2026 is shaping up to be a historic year for NWPX Infrastructure. Continued momentum in our Precast segment, combined with strong bidding activity and the addition of a significant, previously unplanned project in our Water Transmission Systems segment, gives us increasing confidence in our outlook. These factors position the Company to deliver record results for both revenue and profitability in 2026.&#8221;</p>

<div contenteditable="false" data-applyto="p" data-auto-pgnum="start" data-displaynum="1" data-fontname="Times New Roman" data-fontsize="10pt" data-numstyle="a" data-prefix="" data-startnum="1" data-suffix="" data-textalign="right">&nbsp;</div>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="1" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">1</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><a data-tblloc="44x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766103606">First</a> Quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766121022">2026</a> Financial Results</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Consolidated</i></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; text-align: justify; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#8226;</p>
			</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Net sales <a data-tblloc="3x6" data-tblname="532978" data-tblv="28" id="led532978F20263211776809694579">increased</a> <a data-tblloc="2x4" data-tblname="531965" data-tblv="28" id="led531965F20243101712768502241">19.1%</a> to <a data-tblloc="2x1" data-tblname="531965" data-tblv="28" id="led531965F20243101712768509176">$138.3</a>&nbsp;million from <a data-tblloc="2x2" data-tblname="531965" data-tblv="28" id="led531965F20243101712768517521">$116.1</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a>.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; text-align: justify; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Gross profit <a data-tblloc="3x6" data-tblname="531965" data-tblv="28" id="led531965F20263171776436550231">increased</a> <a data-tblloc="3x4" data-tblname="531965" data-tblv="28" id="led531965F20243101712768573759">37.7%</a> to <a data-tblloc="3x1" data-tblname="531965" data-tblv="28" id="led531965F20243101712768580624">$26.7</a>&nbsp;million, or <a data-tblloc="3x1" data-tblname="532979" data-tblv="28" id="led532979F20243101712769145558">19.3%</a> of net sales, from <a data-tblloc="3x2" data-tblname="531965" data-tblv="28" id="led531965F20243101712768595094">$19.4</a>&nbsp;million, or <a data-tblloc="3x2" data-tblname="532979" data-tblv="28" id="led532979F20243101712769155626">16.7%</a> of net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a>.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; text-align: justify; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Net income was <a data-tblloc="7x1" data-tblname="531965" data-tblv="28" id="led531965F20243101712768775971">$10.5</a>&nbsp;million, or $<a data-tblloc="16x2" data-tblname="531966" data-tblv="28" id="led531966F20243101712768805954">1.08</a> per diluted share, compared to <a data-tblloc="7x2" data-tblname="531965" data-tblv="28" id="led531965F20243101712768787675">$4.0</a>&nbsp;million, or $<a data-tblloc="16x5" data-tblname="531966" data-tblv="28" id="led531966F20243101712768816863">0.39</a> per diluted share, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a>.</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Water Transmission Systems Segment (WTS)</i></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8226;</p>
			</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">WTS net sales <a data-tblloc="3x6" data-tblname="532978" data-tblv="28" id="led532978F20263171776436603836">increased</a> <a data-tblloc="3x4" data-tblname="532978" data-tblv="28" id="led532978F20243101712768935918">19.1%</a> to <a data-tblloc="3x1" data-tblname="532978" data-tblv="28" id="led532978F20243101712768944334">$93.5</a>&nbsp;million from <a data-tblloc="3x2" data-tblname="532978" data-tblv="28" id="led532978F20243101712768951076">$78.4</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a> driven by an <a data-tblloc="5x4" data-tblname="532978" data-tblv="28" id="led532978F20243101712769001813">18%</a> <a data-tblloc="5x6" data-tblname="532978" data-tblv="28" id="led532978F20263171776437042689">increase</a> in tons produced resulting from changes in project timing and a <a data-tblloc="6x4" data-tblname="532978" data-tblv="28" id="led532978F20243101712769021956">1%</a> <a data-tblloc="6x6" data-tblname="532978" data-tblv="28" id="led532978F20263171776437053984">increase</a> in selling price per ton due to changes in product mix.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">WTS gross profit <a data-tblloc="4x6" data-tblname="532978" data-tblv="28" id="led532978F20263171776436689351">increased</a> <a data-tblloc="4x4" data-tblname="532978" data-tblv="28" id="led532978F20263211776810825496">42.3%</a> to <a data-tblloc="4x1" data-tblname="532978" data-tblv="28" id="led532978F20243101712769077810">$17.3</a>&nbsp;million, or <a data-tblloc="9x1" data-tblname="532979" data-tblv="28" id="led532979F20243101712769209338">18.5%</a> of WTS net sales, from <a data-tblloc="4x2" data-tblname="532978" data-tblv="28" id="led532978F20243101712769102893">$12.2</a>&nbsp;million, or <a data-tblloc="9x2" data-tblname="532979" data-tblv="28" id="led532979F20243101712769221413">15.5%</a> of WTS net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a> due to increased volume, including related operational efficiency gains, and favorable changes in product mix.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">WTS backlog was <a data-tblloc="6x6" data-tblname="532000" data-tblv="28" id="led532000F20243101712769255436">$373</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393837728">31, 2026</a>, compared to <a data-tblloc="6x7" data-tblname="532000" data-tblv="28" id="led532000F20243101712769285203">$234</a>&nbsp;million as of <a data-tblloc="15x1" data-tblname="531962" data-tblv="28" id="led531962F20256301753913062240">December</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393901272">31, 2025</a>, and <a data-tblloc="6x8" data-tblname="532000" data-tblv="28" id="led532000F20243101712769302466">$203</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393901272">31, 2025</a>. Backlog including confirmed orders was <a data-tblloc="7x6" data-tblname="532000" data-tblv="28" id="led532000F20243101712769322341">$430</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393837728">31, 2026</a>, compared to <a data-tblloc="7x7" data-tblname="532000" data-tblv="28" id="led532000F20243101712769330241">$346</a>&nbsp;million as of <a data-tblloc="15x1" data-tblname="531962" data-tblv="28" id="led531962F20256301753913062240">December</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393901272">31, 2025</a>, and <a data-tblloc="7x8" data-tblname="532000" data-tblv="28" id="led532000F20243101712769339909">$289</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393901272">31, 2025</a>.</td>
		</tr>

</table>

<p style="margin: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><i>Precast Infrastructure and Engineered Systems Segment (Precast)</i></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8226;</p>
			</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">
			<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Precast net sales <a data-tblloc="11x6" data-tblname="532978" data-tblv="28" id="led532978F20263171776436621535">increased</a> <a data-tblloc="11x4" data-tblname="532978" data-tblv="28" id="led532978F20243101712770086064">18.9%</a> to <a data-tblloc="11x1" data-tblname="532978" data-tblv="28" id="led532978F20243101712770094335">$44.8</a>&nbsp;million from <a data-tblloc="11x2" data-tblname="532978" data-tblv="28" id="led532978F20243101712770103957">$37.7</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a> driven by a <a data-tblloc="14x4" data-tblname="532978" data-tblv="28" id="led532978F20243101712770131955">14%</a> <a data-tblloc="14x6" data-tblname="532978" data-tblv="28" id="led532978F20263171776437072221">increase</a> in selling prices due to changes in product mix and a <a data-tblloc="13x4" data-tblname="532978" data-tblv="28" id="led532978F20243101712770149003">4%</a> <a data-tblloc="13x6" data-tblname="532978" data-tblv="28" id="led532978F20263171776437081752">increase</a> in volume shipped.</p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Precast gross profit <a data-tblloc="12x6" data-tblname="532978" data-tblv="28" id="led532978F20263171776436727124">increased</a> <a data-tblloc="12x4" data-tblname="532978" data-tblv="28" id="led532978F20263211776809837241">30.0%</a> to <a data-tblloc="12x1" data-tblname="532978" data-tblv="28" id="led532978F20243101712770196269">$9.3</a>&nbsp;million, or <a data-tblloc="13x1" data-tblname="532979" data-tblv="28" id="led532979F20243101712770237984">20.9%</a> of Precast net sales, from <a data-tblloc="12x2" data-tblname="532978" data-tblv="28" id="led532978F20243101712770205602">$7.2</a>&nbsp;million, or <a data-tblloc="13x2" data-tblname="532979" data-tblv="28" id="led532979F20243101712770248381">19.1%</a> of Precast net sales, in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a> primarily due to increased selling prices due to changes in product mix and increased volume.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Precast order book was <a data-tblloc="9x6" data-tblname="532000" data-tblv="28" id="led532000F20243101712770284782">$55</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393837728">31, 2026</a>, compared to <a data-tblloc="9x7" data-tblname="532000" data-tblv="28" id="led532000F20243101712770291817">$57</a>&nbsp;million as of <a data-tblloc="15x1" data-tblname="531962" data-tblv="28" id="led531962F20256301753913062240">December</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393901272">31, 2025</a>, and <a data-tblloc="9x8" data-tblname="532000" data-tblv="28" id="led532000F20243101712770300974">$64</a>&nbsp;million as of <a data-tblloc="5x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393894008">March</a>&nbsp;<a data-tblloc="7x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393901272">31, 2025</a>.</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Balance Sheet, Cash Flow, and Capital Allocation</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; font-family: Calibri, Arial, sans-serif; font-size: 10pt;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8226;</p>
			</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">As of <a data-tblloc="5x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393830472">March</a>&nbsp;<a data-tblloc="6x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713393837728">31, 2026</a>, the Company had no outstanding revolving loan borrowings and additional borrowing capacity of approximately <a data-tblloc="7x6" data-tblname="531985" data-tblv="28" id="led531985F20243101712770403650">$124</a>&nbsp;million under the revolving credit facility.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;"><a data-tblloc="2x3" data-tblname="531976" data-tblv="28" id="led531976F20256231753308443007">Net cash provided by operating activities</a> was <a data-tblloc="2x1" data-tblname="531976" data-tblv="28" id="led531976F20243101712771872824">$29.3</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766121022">2026</a> compared to <a data-tblloc="2x2" data-tblname="531976" data-tblv="28" id="led531976F20243101712771880659">$4.8</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a> primarily due to a <a data-tblloc="10x3" data-tblname="531976" data-tblv="28" id="led531976F20253181744996662420">$17.6</a>&nbsp;million <a data-tblloc="10x5" data-tblname="531976" data-tblv="28" id="led531976F20256231753308923398">increase</a> in cash from changes in working capital and a <a data-tblloc="9x3" data-tblname="531976" data-tblv="28" id="led531976F20259151760561474099">$6.8</a>&nbsp;million <a data-tblloc="9x5" data-tblname="531976" data-tblv="28" id="led531976F20259151760561500786">increase</a> in net income adjusted for noncash items.</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">Capital expenditures were <a data-tblloc="14x1" data-tblname="531976" data-tblv="28" id="led531976F20243101712772573332">$3.5</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766121022">2026</a> compared to <a data-tblloc="14x2" data-tblname="531976" data-tblv="28" id="led531976F20243101712772581054">$3.7</a>&nbsp;million in the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="32x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712768460053">2025</a>.</td>
		</tr>
		<tr>
			<td style="width: 18pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</td>
			<td style="vertical-align: top; width: 18pt; font-family: Calibri, Arial, sans-serif;">&#8226;</td>
			<td style="vertical-align: top; text-align: justify; font-family: Calibri, Arial, sans-serif;">The Company repurchased approximately <a data-tblloc="2x1" data-tblname="532972" data-tblv="28" id="led532972F20256281753723310717">33,000</a> shares of its common stock at an average price of $<a data-tblloc="5x4" data-tblname="532980" data-tblv="28" id="led532980F20256281753723350966">67.17</a> per share for a total of <a data-tblloc="3x1" data-tblname="532972" data-tblv="28" id="led532972F20256281753723365620">$2.2</a>&nbsp;million during the <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter of <a data-tblloc="0x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766121022">2026</a> pursuant to a Rule&nbsp;10b5&#8209;1 trading plan.</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<hr style="text-align: left; height: 1px; color: #000000; background-color: #000000; width: 10%; border: none; margin: 3pt auto 3pt 0">
<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;">1&nbsp;</sup>NWPX Infrastructure defines &#8220;backlog&#8221; as the balance of remaining performance obligations under signed contracts for Water Transmission Systems products for which revenue is recognized over time.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;">2</sup>&nbsp;NWPX Infrastructure defines &#8220;confirmed orders&#8221; as Water Transmission Systems projects for which the Company has been notified that it is the successful bidder, but a binding agreement has not been executed.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;">3</sup>&nbsp;NWPX Infrastructure defines &#8220;order book&#8221; as unfulfilled orders outstanding at the measurement date for its Precast Infrastructure and Engineered Systems segment.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="2" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">2</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Conference Call Details</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">A conference call and simultaneous webcast to discuss the Company&#8217;s <a data-tblloc="45x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766348758">first</a> quarter <a data-tblloc="0x1" data-tblname="531961" data-tblv="28" id="led531961F20243101712766121022">2026</a> financial results will be held on <a data-tblloc="3x3" data-tblname="532975" data-tblv="28" id="led532975F2025371744043519882">Thursday</a>, <a data-tblloc="3x4" data-tblname="532975" data-tblv="28" id="led532975F2025371744043538891">April</a>&nbsp;<a data-tblloc="3x5" data-tblname="532975" data-tblv="28" id="led532975F2025371744043549547">30, 2026</a>, at 7:00&nbsp;a.m. Pacific Time. The call will be broadcast live on the Investor Relations section of the Company&#8217;s website at <u>investor.nwpx.com</u> and will be archived online upon completion of the conference call. For those unable to listen to the live call, a replay will be available approximately three hours after the event and will remain available until Thursday, May&nbsp;14, 2026, by dialing 1&#8209;844&#8209;512&#8209;2921 in the U.S. or 1&#8209;412&#8209;317&#8209;6671 internationally and entering the replay access code: 13759703.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>About NWPX Infrastructure</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Founded in 1966, NWPX Infrastructure, Inc. is a leading manufacturer of water-related infrastructure products. The WTS segment is the largest manufacturer of engineered water transmission systems in North America and produces steel casing pipe, bar-wrapped concrete cylinder pipe, and pipeline system joints and fittings. The Precast segment provides solution-based products for a wide range of markets including high-quality reinforced precast concrete products, lined precast sanitary sewer system structures, water distribution and management equipment including pump lift stations, wastewater pretreatment, and stormwater quality products. The Precast segment has broadened its manufacturing footprint by bringing lined and engineered precast products into production at additional facilities, increasing capacity and improving regional availability. The Company&#8217;s skilled team is committed to quality and innovation while upholding its core values of accountability, commitment, and teamwork. Headquartered in Vancouver, Washington, the Company operates 14 manufacturing facilities across North America. For more information, please visit www.nwpx.com.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Forward-Looking Statements</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Statements in this press release by Scott Montross contain &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995 and Section 21E of the Securities Exchange Act of 1934, as amended, that are based on current expectations, estimates, and projections about the Company&#8217;s business, management&#8217;s beliefs, and assumptions made by management. These statements are not guarantees of future performance and involve risks and uncertainties that are difficult to predict. Therefore, actual outcomes and results may differ materially from what is expressed or forecasted in such forward-looking statements as a result of a variety of important factors. While it is impossible to identify all such factors, those that could cause actual results to differ materially from those estimated by the Company include changes in demand and market prices for its products, product mix, bidding activity and order modifications or cancelations, timing of customer orders and deliveries, production schedules, price and availability of raw materials and other costs central to producing and shipping our products, excess or shortage of production capacity, product quality assurance failures that result in decreased sales and operating margin, product returns, product liability, warranty, or other claims, international trade policy and regulations, changes in trade policy (in particular with Canada and Mexico) and duties imposed on imports and exports and the related impacts on the Company, economic uncertainty and associated trends in macroeconomic conditions, including potential recession, inflation, and the state of the housing and commercial construction markets, interest rate risk and changes in market interest rates, including the impact on the Company&#8217;s customers and related demand for its products, the Company&#8217;s ability to identify and complete internal initiatives and/or acquisitions in order to grow its business, the Company&#8217;s ability to effectively integrate future acquisitions into its business and operations that produce accretive financial results, effects of security breaches, computer viruses, and cybersecurity incidents, increased use of artificial intelligence by us and our competitors, as well as related legal and regulatory requirements, timing and amount of share repurchases, impacts of U.S. tax reform legislation on the Company&#8217;s results of operations, and the impact on its customers and related demand for its products, delays or reductions in state or local government spending due to revisions to federal appropriations brought on by policy changes, staffing levels or the inability to pass budget reconciliation legislation, adequacy of the Company&#8217;s insurance coverage, supply chain challenges, the Company&#8217;s ability to attract and retain talented employees, impact of geopolitical trends, changes, and events, including the various military conflicts or tensions and the regional and global ramifications of these conditions, operating problems at the Company&#8217;s manufacturing operations including fires, explosions, inclement weather, and floods and other natural disasters, effectiveness of future implementations or conversions of enterprise resource planning or other key systems, material weaknesses in the Company&#8217;s internal control over financial reporting and its ability to remediate such weaknesses, impacts of pandemics, epidemics, or other public health emergencies, and other risks discussed in the Company&#8217;s Annual Report on Form&nbsp;10&#8209;K for the year ended December&nbsp;31, <a data-tblloc="3x1" data-tblname="531962" data-tblv="28" id="led531962F20243171713394220281">2025</a> and from time to time in its other Securities and Exchange Commission filings and reports. Such forward-looking statements speak only as of the date on which they are made, and the Company does not undertake any obligation to update any forward-looking statement to reflect events or circumstances after the date of this release. If the Company does update or correct one or more forward-looking statements, investors and others should not conclude that it will make additional updates or corrections with respect thereto or with respect to other forward-looking statements.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="3" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">3</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Non-GAAP Financial Measures</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company is presenting backlog including confirmed orders. This non-GAAP financial measure is provided to better enable investors and others to assess the Company&#8217;s ongoing operating results and compare them with its competitors. This should be considered a supplement to, and not a substitute for, or superior to, financial measures calculated in accordance with GAAP.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin: 0pt; text-align: left;">For more information, visit <u>www.nwpx.com</u>.</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Contact:</b></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Aaron Wilkins</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Chief Financial Officer</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">NWPX Infrastructure</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><u>investors@nwpx.com</u></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Or</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addo Investor Relations</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><u>nwpx@addo.com</u></p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">###</p>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" data-number="4" data-prefix="" data-suffix="" style="text-align: right; width: 100%; font-size: 10pt; font-family: Times New Roman;">4</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">&nbsp;</div>
</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 100%;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>NWPX INFRASTRUCTURE, INC. AND SUBSIDIARIES</b></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</b></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(In thousands, except per share amounts)</p>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" data-tbledgar="true" data-tblname="532971" data-tblv="28" style="border-collapse: collapse; width: 100%; font-size: 10pt; font-family: &quot;Calibri&quot;, Arial, sans-serif; text-indent: 0px;">

		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="6" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 19%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three Months Ended March 31,</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2026</b></p>
			</td>
			<td id=".trail.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2025</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Water Transmission Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">93,453</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">78,446</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">44,801</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">37,669</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total net sales</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">138,254</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">116,115</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of sales:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Water Transmission Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">76,134</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">66,272</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35,455</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,478</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total cost of sales</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">111,589</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">96,750</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Water Transmission Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">17,319</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">12,174</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,346</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,191</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total gross profit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26,665</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">19,365</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Selling, general, and administrative expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,008</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,796</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Operating income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">12,657</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">5,569</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">229</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">7</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(348</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(635</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Income before income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">12,538</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">4,941</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,004</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">977</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Net income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,534</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,964</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income per share:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.10</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.40</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.08</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.39</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares used in per share calculations:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,578</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,933</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,790</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,117</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="5" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">5</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Calibri, Arial, sans-serif; text-indent: 0px;">

		<tr style="vertical-align: bottom; font-family: Calibri, Arial, sans-serif;">
			<td colspan="8" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>NWPX INFRASTRUCTURE, INC. AND SUBSIDIARIES</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: Calibri, Arial, sans-serif;">
			<td colspan="8" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>CONDENSED CONSOLIDATED BALANCE SHEETS</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: Calibri, Arial, sans-serif;">
			<td colspan="8" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;">(Unaudited)</p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: Calibri, Arial, sans-serif;">
			<td colspan="8" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;">(In thousands)</p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" data-tbledgar="true" data-tblname="532974" data-tblv="28" style="width: 100%; font-size: 10pt; font-family: &quot;Calibri&quot;, Arial, sans-serif; text-indent: 0px;">

		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding-bottom: 1px;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>March 31, 2026</b></p>
			</td>
			<td id=".trail.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding-bottom: 1px;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31, 2025</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Assets</b></p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current assets:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Cash and cash equivalents</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">14,262</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">2,273</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Trade and other receivables, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">96,739</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">78,171</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Contract assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">113,190</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">91,036</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Inventories</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">69,795</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">74,287</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Prepaid expenses and other</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,177</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,665</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total current assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">299,163</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">251,432</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property and equipment, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">163,640</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">157,509</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease right-of-use assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">87,301</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">86,894</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Goodwill</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">55,504</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">55,504</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intangible assets, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">23,475</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">23,008</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,057</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,283</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">634,140</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">579,630</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Liabilities and Stockholders&#8217; Equity</b></p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current liabilities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Current portion of long-term debt</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">2,994</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2,994</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Accounts payable</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">27,894</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">22,190</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Accrued liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">24,644</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">27,743</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Contract liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">50,859</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">8,794</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Current portion of operating lease liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,153</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">4,829</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total current liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">111,544</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">66,550</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Borrowings on line of credit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">-</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">276</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Long-term debt</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">7,734</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">8,482</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">86,552</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">86,223</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">13,276</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right;">12,484</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other long-term liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,306</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">10,832</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">230,412</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">184,847</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Stockholders&#8217; equity:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%; padding: 0; margin: 0">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%; padding: 0; margin: 0">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Common stock</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">96</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">96</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Additional paid-in-capital</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">111,315</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">113,088</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Retained earnings</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">292,276</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">281,742</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">
			<p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Accumulated other comprehensive income (loss)</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">41</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(143</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total stockholders&#8217; equity</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">403,728</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">394,783</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total liabilities and stockholders&#8217; equity</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">634,140</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 3px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">579,630</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&nbsp;</td>
		</tr>

</table>

<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" data-number="6" data-prefix="" data-suffix="" style="text-align: right; width: 100%; font-size: 10pt; font-family: Times New Roman;">6</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">&nbsp;</div>
</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 100%;">

		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>NWPX INFRASTRUCTURE, INC. AND SUBSIDIARIES</b></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p>
			</td>
		</tr>
		<tr style="font-family: Calibri, Arial, sans-serif;">
			<td style="vertical-align: bottom; width: 53.4%; font-family: Calibri, Arial, sans-serif;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(In thousands)</p>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" data-tbledgar="true" data-tblname="532976" data-tblv="28" style="border-collapse: collapse; width: 100%; font-size: 10pt; font-family: &quot;Calibri&quot;, Arial, sans-serif; text-indent: 0px;">

		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="6" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 19%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three Months Ended March 31,</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2026</b></p>
			</td>
			<td id=".trail.D2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2025</b></p>
			</td>
			<td id=".trail.D3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from operating activities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">10,534</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">3,964</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Adjustments to reconcile net income to net cash provided by operating activities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Depreciation and finance lease amortization</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">3,744</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">3,413</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Amortization of intangible assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,029</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,008</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Share-based compensation expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,304</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,138</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Noncash operating lease expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,518</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,434</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Deferred income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">791</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">744</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Other, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(74</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">326</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Changes in operating assets and liabilities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Trade and other receivables</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(17,803</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">6,652</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Contract assets, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">19,911</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(3,436</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Inventories</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">6,390</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(914</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Prepaid expenses and other assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">726</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,040</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Accounts payable</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">5,718</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(2,978</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Accrued and other liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(3,251</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(6,364</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Operating lease liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,272</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,179</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Net cash provided by operating activities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">29,265</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,848</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from investing activities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Purchases of property and equipment</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(3,469</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(3,670</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%; padding: 0; margin: 0">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Acquisition of business, net of cash acquired</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">(8,853</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">-</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other investing activities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">19</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Net cash used in investing activities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12,303</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,670</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from financing activities:</p>
			</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Borrowings on line of credit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">1,239</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">39,521</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Repayments on line of credit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(1,515</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(38,665</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Payments on other debt</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(750</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(750</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Payments on finance lease liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(648</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">(386</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px; margin: 0px; width: 64%;">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Tax withholdings related to net share settlements of equity awards</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px; margin: 0px;">(883</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px; margin: 0px;">(620</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; width: 64%;">
			<p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Repurchase of common stock</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(2,416</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; width: 64%;">
			<p style="margin: 0pt 0pt 0pt 36pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Net cash used in financing activities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(4,973</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(900</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">&nbsp;</td>
			<td id=".lead.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 15%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px; margin: 0px; width: 64%;">
			<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Change in cash and cash equivalents</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px; margin: 0px;">11,989</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px; margin: 0px;">278</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding: 0; margin: 0">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash and cash equivalents, beginning of period</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,273</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; padding-bottom: 1px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,007</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: &quot;Calibri&quot;, Arial, sans-serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&nbsp;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
			<td style="font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; width: 64%;">
			<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">Cash and cash equivalents, end of period</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">14,262</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 15%; text-align: right; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">5,285</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Calibri, Arial, sans-serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&nbsp;</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: Calibri, Arial, sans-serif;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM" data-number="7" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">7</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>nwpx-20260429.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 4/28/2026 6:36:01 PM-->
<xsd:schema xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:nwpx="http://www.nwpx.com/20260429" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.nwpx.com/20260429">
<xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
<xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/stpr/2024" schemaLocation="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"/>
<xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
<xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/sic/2024" schemaLocation="https://xbrl.sec.gov/sic/2024/sic-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/currency/2024" schemaLocation="https://xbrl.sec.gov/currency/2024/currency-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/exch/2024" schemaLocation="https://xbrl.sec.gov/exch/2024/exch-2024.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/cyd-8k-sub/2024" schemaLocation="https://xbrl.sec.gov/cyd/2024/cyd-8k-sub-2024.xsd"/>

<xsd:annotation>
<xsd:appinfo>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20260429_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20260429_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20260429_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
<link:roleType id="statement-document-and-entity-information" roleURI="http://www.nwpx.com/20260429/role/statement-document-and-entity-information">
<link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
<link:usedOn>link:calculationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:presentationLink</link:usedOn>
</link:roleType>
</xsd:appinfo>
</xsd:annotation>
<xsd:element abstract="true" id="nwpx_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>4
<FILENAME>nwpx-20260429_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 4/28/2026 6:36:01 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" 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:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
<link:roleRef roleURI="http://www.nwpx.com/20260429/role/statement-document-and-entity-information" xlink:href="nwpx-20260429.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:definitionLink xlink:role="http://www.nwpx.com/20260429/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
<link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>

<link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>


<link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
<link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
<link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
<link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
<link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
<link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
<link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
<link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
<link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine2" xlink:type="arc"/>
<link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
<link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
<link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
<link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
<link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
<link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_WrittenCommunications" xlink:type="arc"/>
<link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SolicitingMaterial" xlink:type="arc"/>
<link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementTenderOffer" xlink:type="arc"/>
<link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementIssuerTenderOffer" xlink:type="arc"/>
<link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
<link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
<link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
<link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
<link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
<link:definitionArc order="23" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>

</link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>nwpx-20260429_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 4/28/2026 6:36:01 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" 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/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
<link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document, Type</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document, Period End Date</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Registrant Name</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:label xlink:label="dei_EntityIncorporationStateCountryCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Incorporation, State or Country Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:label xlink:label="dei_EntityFileNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, File Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:label xlink:label="dei_EntityTaxIdentificationNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Tax Identification Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressAddressLine1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, Address Line One</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressAddressLine2-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, Address Line Two</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressCityOrTown-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, City or Town</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressStateOrProvince-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, State or Province</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressPostalZipCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, Postal Zip Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:label xlink:label="dei_CityAreaCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:label xlink:label="dei_LocalPhoneNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:label xlink:label="dei_WrittenCommunications-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Written Communications</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:label xlink:label="dei_SolicitingMaterial-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Soliciting Material</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:label xlink:label="dei_PreCommencementTenderOffer-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:label xlink:label="dei_PreCommencementIssuerTenderOffer-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:label xlink:label="dei_Security12bTitle-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:label xlink:label="dei_TradingSymbol-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:label xlink:label="dei_SecurityExchangeName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Emerging Growth Company</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Central Index Key</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>

</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>nwpx-20260429_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 4/28/2026 6:36:01 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" 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.nwpx.com/20260429/role/statement-document-and-entity-information" xlink:href="nwpx-20260429.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:presentationLink xlink:role="http://www.nwpx.com/20260429/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>

<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>

<link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
<link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
<link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
<link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
<link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
<link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
<link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
<link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine2" xlink:type="arc"/>
<link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
<link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
<link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
<link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
<link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
<link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_WrittenCommunications" xlink:type="arc"/>
<link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SolicitingMaterial" xlink:type="arc"/>
<link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementTenderOffer" xlink:type="arc"/>
<link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementIssuerTenderOffer" xlink:type="arc"/>
<link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
<link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
<link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
<link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
<link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
<link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>

</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>7
<FILENAME>nwpxinfrastructurelogo-lette.jpg
<TEXT>
begin 644 nwpxinfrastructurelogo-lette.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1"  ] ,D# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]0=4\2:3H
MEY96NHZE:V-S>EEMH[F98VF9<9"9/S$9' ]:TJ^?/VZOAK)\1/V>=<FLT)U;
M0"-9M&09;]T#YH'UB,G'J!7YX_"7]K3XC^ 8XXM'\37301?>TV^/VB#'^RKY
MVC_=(-?29?D_]IT7*C42FGL]GZ/_ (!\WF&<?V964:U-N#6ZW^[_ ()^R-%?
M$'PY_P""E5E<>5;>-_#3VC<!K[1WWITZF)SD#Z,?I7U!\/?CSX!^*21CPYXG
ML;VY< _8W?RK@9_Z9/AOR%<6+RG&X+6M3=NZU7WH[<)FV"QNE&HK]GH_N9W]
M%%%>0>N<M\0/BAX5^%>EV^H^+=;M="L;B;[/%-=$A7DVEMHP#SA2?PKF/"O[
M3WPK\;:_9Z)H?CC2M0U6\;9;VL<A#2-@G:,@#. >.]?/?_!5+_DBGAC_ +#R
M_P#I/-7YAZ;J-UH^H6U]93R6MY;2+-#/$Q5XW4@JP(Z$$ U]/@<IIXO#^U<F
MGKZ'RV/S>I@\3[)136GJ?T(5P/Q ^/7P^^%FK0:9XL\56&AW\T(N([>Z9@S1
MEBH;@'C*L/PKA/V/?VDK7]HCX:17%U)''XLTH+;ZM;+QN;'RSJ/[KX)]F##L
M,_&/_!5#_DN'AO\ [ $?_I1/7GX7 ^UQ3PU;2UST,7F'LL(L51UO8_07P_\
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
M8_!L_B-K+6;%;5))PKX_>AF7A?NKP0<D?6O2_BAJ-M=W_P &OAOX(TR]\?\
MA_0+*#7[FTM_E>^4X90_!"?+N)&.!-BOO9=/M5BDC6VA$<ARZ",88^X[T0Z?
M:VK[X;:&)\;=R1A3CTX[5USX@C.:FZ.S;6MM7%13=E=M:V=UOY')#A^4(."K
M;I)Z7T4N9I7=DGI=6>WF?GU\/_$%AHGAGXQ_#;Q]X;US1M'N1_;MEHMJGF7E
MNID0[8^-IV_N6R0%PC$]ZL_!?XFZKI'Q:\ ^&_ _C2[^(WAV5OL\UCJFCF*;
M2;?A6Q(V2NU,G*-M^3!'(K[_ /LL/VCS_)C\_&WS-HW8],U#9Z39:?))):V=
MO;/)]]H8E0M]2!S64\\I5(U%*C\72Z:OR\M]8M^>C3[LTAD=6G*GRUO@ZV:E
M;FYK:22\M4UV1\QW,"?\/!K0>6NS_A&#QMXZ-7F/CK_A/K7]J'XQZE\/M0@L
M=2T_18[F>*:V69KB%8K?<D892-W0CUQCO7WA]EA^T>?Y4?GXV^9M&['IFA;6
M%9GF6&,2N,-(%&YAZ$URT<X]E)2]FG:"A9ZK1IW:MUMM^)U5<H]K%Q]HU>;G
M=:/5-6O?\?P/S>O/!\$/['OA/7] :YUS[-XH_M;7ECCP]K)Y9C9=HZ*-L?/?
M>#P#@>G^)OBEH_[2/[2?PBE\"Q7NHVN@S/=ZA<2VS1) I9'.<^@C//0E@ 37
MVC#9V]O&T<4$<2-]Y40 'Z@5'8Z99Z:KBSM(+4.<L((U3<?4X'-=$\\C4<IR
MIMR]_E=]N=6=U;6W38YX9)*FE"-1*/N<RMOR.ZL[Z7Z[GPY\%_BAX;_9CU3X
MB^&OB;I5Y;:]=ZC)<K>&R,XU*!A@*#W4G+#/RGS#D@@UZC\2-9TGQ/\ L4^(
M=2T7PI+X/T^:R!@TN:V2$HOGH-ZJO&UNH;@D<U])WFF6>H-&;JT@N3&<H9HU
M?:?49'%330I<1M'*BR1MP5<9!_"N:MFE.K6AB?9M34HR?O:/E[*VE_.]NAU4
M<KJ4J,\-[1.'+**]W5<W=WUMY6OU/C_XH>%]1\2_L!^&8M*L9+RXM]-TZ[EB
MA3+^6@&]L#DX!R?8&N*^)_Q>T7]HE?@_X4\%P7]_K=CJ%O/>PO;,@M@JJK;F
M/! PQ)' "GFOO:.-8D5$4(BC 51@ 57M=*LK&:26VL[>WED^^\42JS?4@<UI
M0SB-)7E3O)2E*.NSDK.^FMOD9U\GE5=HU+1<8QEINHNZMKI^)^?7BQO'VG_%
M_P#:$U7P-J$%I]B17U&VDM5FDN+<Y#>7N4@%5W,>F0*R?B!IFB^&_P!ECX.S
MZ'K=P8)==:]NM0\G,EK<;?WF(P?^697 &?FVY[U^CZV<"R2.L,8>3AV"#+?7
MUJ/^R[+R1%]C@\I3N">4NT'UQCK75'B#E=/]U\/+LUK:'+KIKW7;;4Y)</\
M,I_O?BYMT]+SYM-=.S[[Z'SO^RCX_MO%^N>(((?BGJGQ#:*WC?R=0TAK);8;
MB-P))W$Y Q[5])5!;V-M9LS06\4);@F- N?RJ>OG,97CB:SJ0C9/II^BBOP/
2H\'0EAZ*ISE=KKK^KD_Q/__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<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.26.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Document And Entity Information<br></strong></div></th>
<th class="th"><div>Apr. 29, 2026</div></th>
</tr>
<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_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity, Registrant Name</a></td>
<td class="text">NWPX Infrastructure, Inc.<span></span>
</td>
</tr>
<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_DocumentType', window );">Document, Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<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">Apr. 29,  2026<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity, Incorporation, State or Country Code</a></td>
<td class="text">OR<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity, File Number</a></td>
<td class="text">0-27140<span></span>
</td>
</tr>
<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">93-0557988<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity, Address, Address Line One</a></td>
<td class="text">201 NE Park Plaza Drive<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity, Address, Address Line Two</a></td>
<td class="text">Suite&#160;100<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity, Address, City or Town</a></td>
<td class="text">Vancouver<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity, Address, State or Province</a></td>
<td class="text">WA<span></span>
</td>
</tr>
<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">98684<span></span>
</td>
</tr>
<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">360<span></span>
</td>
</tr>
<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">397-6250<span></span>
</td>
</tr>
<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_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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<span></span>
</td>
</tr>
<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">NWPX<span></span>
</td>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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">0001001385<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_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">dei_DocumentInformationLineItems</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_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_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_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_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_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_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_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under 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 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementIssuerTenderOffer</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_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under 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 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementTenderOffer</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_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_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under 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 14a<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities 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 Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_WrittenCommunications</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<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>11
<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>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.26.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>23</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>0</UnitCount>
  <MyReports>
    <Report instance="nwpx20260319_8k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpx.com/20260429/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>nwpx-20260429.xsd</File>
    <File>nwpx-20260429_def.xml</File>
    <File>nwpx-20260429_lab.xml</File>
    <File>nwpx-20260429_pre.xml</File>
    <File doctype="8-K" isOnlyDei="true" original="nwpx20260319_8k.htm">nwpx20260319_8k.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="23">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "nwpx20260319_8k.htm": {
   "nsprefix": "nwpx",
   "nsuri": "http://www.nwpx.com/20260429",
   "dts": {
    "schema": {
     "local": [
      "nwpx-20260429.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/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/currency/2024/currency-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-8k-sub-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-cr-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/exch/2024/exch-2024.xsd",
      "https://xbrl.sec.gov/sic/2024/sic-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "definitionLink": {
     "local": [
      "nwpx-20260429_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "nwpx-20260429_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "nwpx-20260429_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "nwpx20260319_8k.htm"
     ]
    }
   },
   "keyStandard": 23,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2024": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 37,
   "unitCount": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2024": 23
   },
   "report": {
    "R1": {
     "role": "http://www.nwpx.com/20260429/role/statement-document-and-entity-information",
     "longName": "000 - Document - Document And Entity Information",
     "shortName": "Document And Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "d20268K",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "nwpx20260319_8k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d20268K",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "nwpx20260319_8k.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationTable",
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document, Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document, Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity, Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "cyd_MaterialCybersecurityIncidentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Abstract]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r7"
     ]
    },
    "cyd_MaterialCybersecurityIncidentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentAxis",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Axis]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r7"
     ]
    },
    "cyd_MaterialCybersecurityIncidentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentDomain",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Domain]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r7"
     ]
    },
    "cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Information Not Available or Undetermined [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r8"
     ]
    },
    "cyd_MaterialCybersecurityIncidentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentLineItems",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Material Impact or Reasonably Likely Material Impact [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "cyd_MaterialCybersecurityIncidentNatureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentNatureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Nature [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "cyd_MaterialCybersecurityIncidentScopeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentScopeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Scope [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "cyd_MaterialCybersecurityIncidentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentTable",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Table]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r7"
     ]
    },
    "cyd_MaterialCybersecurityIncidentTimingTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentTimingTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Timing [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r6",
      "r9"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://www.nwpx.com/20260429/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 6-K",
   "Section": "General Instruction",
   "Subsection": "B"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05",
   "Subsection": "Instruction",
   "Paragraph": "2"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05",
   "Subsection": "a"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001437749-26-013887-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-26-013887-xbrl.zip
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
MX956S<E8"PXCW+EL6&C*(G29H[2$$:4NVTW&H+F=U_59<B!H3C"B_/1Q''?
MI,&T8%R2P+)]L*]<?- (),Z/L@28. M'@1OB0PN@RT=_6FT $(+9EI L*21W
MC# >\POS)T59&@ !F<N<4(*1CBA&CD[X_-*2)PW$RVW9 L/*<0S&\05:X#JY
MQ>-V_0!7#N/A?LQPN>??%>GLU/-9S T8S0T2FHLE2'7PF$:?.J/BC2R-#D:W
M83;\U&%F=/Z^YR= K$?V?J$6D>^XJ,]D!Y?^CGP*W\#4</XF/"%G>#=_!W:D
M[S]\ZN0OV:A3XR19O_P!Y&7&RI\Z+%-\(E"PW*9=M2G99N0/W"3YU+G\^OF/
MZHQ5_OT#3.+.A35_ARV.O847 ::>]>7F:ORPJ@SGT@ SWQWT#\"[F7\3<VO)
MY=>+']\F^]3%/%RE9I?&>U(QC:42^&<SRME!'-O!Z1]O/@[&)T.7QU_/#CY?
MG1W_<7#\Y>;LZCUQ@WOW,?F0IPWC5H5T:OT?2'Z@0=31PP>0A@#O5_PBLW\^
M,#,!;)HL] ZF_S1'\]]/JVG.L^^?2?&;[R=_^N'/&1:NH<,:^'J9D]7ND<AX
MWU.#X*-_5 XQC,]K6T2>UWE+H%*SM.THL_&DC^?FM;R0NI,+#//N>96[N*1/
MIBKH]=BR8SJZ 8[2T=@'9&"UD3L*-KA8JJZ4<YXW%;^#H1S%,FOC=SP*,3]T
M=0[:BD,KEJ'B ;6BF'@'L2+JTLBY8%4J>QVQ5QK3UDU9-C2FZUB4Z7#C^34[
M 5FK9E^\<%%?R['HI<!BZ?BSA6"A:Z8!$JPI3X'%"Z[JE,7(TBR,P$^NZE2
MQ0NN)I6'LF53U>NO)D7S1F)=?':)D--D8$?1#</@ET#R.P\@I.-\>JD:I;3U
MH)0#$(EKAK'U9==<,?#J:S8,4\5XL%GLZ_2:!3P*>-R4(95GOM^[\];4"U+?
M2UMM67ERVM93WVU;!I'6%Z6^LT#FR,73Z@HHM=8"*Y9MF1:[J',X?_I0N_[J
ML]$5UZ^8M@E2)A]J3MWZ]P];UISMV$ \8;G(P8*H^75Q?^VOF^O?MAU5V(L
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
M5IW#1M#O6=D5:Q;DYS%$LW/8!'X^DR&:(,1.F&3/QUIVS_ E8'L2#8=1"$,
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
M!K]M-80WFDU6AEP>7*4M*LXC$'BJ&%;]+7*!P/N+P)HMVF>\-$]Z4@LA?[$
MG#=QE>/&?8 AT\$@"CP6&XYIX*;4(VG$;G,D S>F)*%I&M <K_OLIAU>NKMW
M8Z_YY%]QO^-YK(:7/.SFDZO$%8\=O>)1P4^FVKQ-_A0_M=<N+Q*[TFB4D[=X
MA^W:S'N%RFM8@5S147XCFP6OH^$0#/HDC7H_7ZP8GLV7[%]EGC]?J!D:V,P=
M2?'=[F+?JI*NK*V7R=JY[/F::[L,OYGYM(#AMZ<%M[38M5URV3"#M=[AVJYJ
M9==77J);YRZ^5&4A"C7;#M1Y?6I6EQQK;?ZA4+.OC>%?G9I]Z\AK<U\WQ^[M
M]5_%_1Z1&2\RXT5F_*8//UYD4Y\,W/"6HC'-JU2%'O\%SS3NW "/.,2)QLZ>
M:"B*Y-C-Y]"O2#AQL-'R@PVU!6T9UUS"JJU)1YN_U5D%^1+I4OA<B*$5K"L+
M8T3-5RX49:U>E**R?*,625U?H$-4MA+U1];!E(8DRU;C6F?3U:U>\T' R_R4
M>E5%L:'PVI34RR)5VBL,_\.:B!=EW8#.RN3?FG9ZMK5019=4<VW-,K?&8ELY
M %B5Y7?A &!EEM_5X'_]0@U)M==VH6_#');KUS?PTX6E'+UYLWX%5(PXPJ=[
M_AWI!6Z2?.K\>7Q]<W!Y_/7LX//5V?$?H/_*?[W\^N7F:N:]0?\@CN[GW^S1
M(""77R]^?.L0STW=@S ;=FG\J6/EKT<Q[?L/GSKYRR3KYR_SI=:Q6^V";_PA
M3<@%O2=7T= -895@8<&D8&I5/V#A[[J1]WCT\=T@'09'_Q]02P,$%     @
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
M]F>+A;6=>!!+U^\_D>S_F,4O_P-02P,$%     @ A(*=7"@Y<%2$!   -2\
M !4   !N=W!X+3(P,C8P-#(Y7W!R92YX;6S=6EV/VC@4?5]I_T.:?0Z!0&<+
M*JT0,ZW0,ATT4'6U+RN3&+#JQ,@Q0_CW>VT^EA%Q8G9EI/$+^?"Q?7Q\X]P<
M\_%SD5+O!?.<L*SOMQI-W\-9S!*2+?O^]VDPF Y'(]_+!<H21%F&^W[&_,^?
M?OWEX[L@^(HSS)' B3??>;/5)DLPOV<I]B:,"T2]P.N$T8<P:D9WWEVO?==K
MMKS)8Q#(ZI1D/WOR9XYR[ &-+%>7?7\EQ+H7AMOMME',.6TPOH0FFNWPB/8/
M<%F:B%.%<_#[<%]X@EXTO6TK;*O;[8:J] 3-21D0&FV%?SZ.I_$*IR@@F=0D
MEEQRTLO5S3&+D5!"U@[!TR+D57"$!?)6T(J"=JM1Y(E_$HXSBI_QPI/'[\^C
M5SUFVW71B%FJ=&]VHFXH42'P%3C%F0@2%F_4"4QJ $<B=C">!>.IH@]#4GVL
M.%[ =$-KP;$E2>*WJQL2NS7$34[2-<5^>!K#FN,<*BGH&&X<T)*LE?'L:>!"
M8(C3,RTIBU^-6':='^,IQW%CR5["!!/9?T>>2#DZ2@JX^/M!=0AAC\BI*XKF
MF/9]7?&>"97APOB9(O^3R1@O$=WW-RA(7D)&@[#$Y_XP+Z-_YV*&YA27$*N#
MWHXA1"(>06"5R6<"M\QT!LU7,#LOMLQD@CEAR4.6W,-S6$&I%&>)VSZTG_&2
MY(*C3'Q#:1FU*IA59B-XM_(UXRITIG(!&[)-)OANR!(]4:-:5GE_(11_VZ1S
MS+4D+R%6&<U0,4KD6K\@^Y=N#;T:O%6N@R2!5UU^.,@5HZ7E68&],<?H"H[1
M+3D.X?2)S]A6_[K5(F_!3SVA3WS"V0O99XB5)#7P6S"=,$BBZ%]D7;G\5($M
ML903-^ 8:7B5%=O*J:!!.EG!EX]V@=%!+#'ZP8F %';(TG23'1:SLF2E$F>)
MVY11$A,!7X^/$-2<(%I"3 ^RQ&K"L50!/FS5]\),YO_\:;$HG<UZ\&U8CO)\
M@_E57+55;,TVCC<09+M6-)\149K7ZR"6&,TXDM;%=)?.65GHE99;5N>AB%<H
M6V)-+EH%L_H.>$@Q7X(87SG;BA7$T1IE.^U+H!)MB>< @CJ1@?V%HF4)L])R
MJYH-H3..Z B>L.(/K%=+@]-Q.W="!CSV&(<GN.\W?0]*X#GF.!GON]#:1LH2
M43R@,V5]]6+*<IST?<$WIXA"/+[P5UXW=$"$:\2EI1*O"$V.M1><I=5& JLS
M/:!Y-?"W._1:JX(9>"V&,K3>O@SFGLE1$X<"XW*DS-2!,%+C;<6'5@V]>V6D
M0N26"A6&F9$<;3?DN-K[,A*GXY(X.L_-2(GW+BEA9.\9R7+GDBRU;J*1)+^[
M+4GT'R3YX* D.K?42)"N@X)4.K-F^9E3Z6J]$6PFBB-9J]Z%-I/!D;2UVOXV
MD\*1E-7 <C?3PY$LM<[I-Q/#D435=&/!3!1'TM3K=C#,I'$D7:W>.C&3PI$T
MM6+;QDP'1[+3^KTB,[_,J:S48&?*3!5'TM**73$S'1S)2PUVXLYV8<(+2:#A
MGY].)?)'_B,;[OP#4$L#!!0    ( (2"G5S7NI*A>@\  &!C   3    ;G=P
M>#(P,C8P,S$Y7SAK+FAT;>T<:7/:2/;SY%?T,CL3I\H"B<,&?$P1C#-48DP!
MV4SMEZU&:DR/A41:+1OFU^][W1)(6-CX2G#B5%)!ZNO=1_=K'?XQF[CDBHF
M^][16RMOOB7,LWV'>Q=';QO]9KO]]H_C-X=C"=V@JQ<<Y<923NN%PO7U=?ZZ
ME/?%1<&JU6J%&?;)Z4YUP4:ICK.A<%77HFGN%: U[H@-#E_T3??3C7%7CW([
M2/<,F)V_\*\*J@G&%,O)>?E:$$H%[@62>C9;] ^<+,R@KU7XZ^Q3WQZS"8T[
M\YDT8.G4@!@4[KG<8W^][WTJ2$&]8.2+"95 79C+JAAFU2A9BT6AZ^5Z@F)K
M8LEL;.Y:KV@4]Q84]#TOG&3/XTA1D/,I*T G WHQP>UX7!@8V+0D_H@&0S4J
M;DG1/I2"7:RE?:T [4NTUO6S2@G4$H (WUT#B&I!0$S#M!)4#N149(L-MJ0@
MO\&/M-!@\Y &"Z'A@5\N6ONWB9GN$0\ (J]0,IL',1)%*Z4G,E-/*EI/Y%*4
M^=VB;*PJ@!R'GL.$XT]8:G3OY,,I!\0O@KSM3Q(LWHS!LTR#<0<L#N/9#(.&
MM*0%Q@6ETTQQP(949]L//2GFV3-'C:D!8HW8"!0:J[HB9=Q>(V3<3H,1"@$F
M=AT<46MJ")O9X^SNV)+J&@AYDQKP,@W"W%FS^MQ)=?2NIVD%Q1<H!]AKSRP7
M:[GCPS&CSO&;7PXEERX[QAZJL635_E>]S(-7."SH)NCS+\,@'YC'!)7,(<,Y
M&6BQ.P&Q(UU?2.H2@Y0+-;4 L:RZ6:D7*Z1[1@P#_-"$24H0'H-]#?G54:[I
M>Y)YTAB VN2(K9^.<I+-9$$YI,+Q84%#>#CTG3D)Y-P%"1]!3R/@_[ ZL<RI
M/"#JQ8A.N#NOD]^_AKX\&/ )"TB'79.>/Z&>?GE IM1!]U@G)O>(F;>X=T"
M;8$OZH2&TC\ FCC\*E[)X<'4I3 I&%:6 S#XK(X ,1']YH[#//T;NG2TZ=6H
MS&0/':F#Q*A^S!&/HG:"%M0;$^8Y\$^>NO0B1S@PE,^NC.*^E3L>43=@AX74
M?/>=O^4!S^9-6$!0MPTLFGUD\^0ZQ=RQ"5H,?TO5RHW%WJ@W2=3 YS.4;!;
M,QK2>J"4'P @RM/5QRIH0/DQ8NG*@UO.1<UH&(]R 9],709<U2ND9E7/@1\*
M_:A"@'J$IX(\QG/1R!26BT?NX(L19X(HX%BFAV^V/Z9Q7QV,L&7./P7B^,[B
M$8R>D">@"<<(EV&6C6(M'KEL6\+JK.D;MRR67:Q32-$ V/(F)MN23(6D/!9
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
M)2913=$B]D6YU >8]$;\UY"+*)_>[,1I-VL'WPDA>59IMJ,S6OTE(EP&LM@
MH( &7W_E9<@@PQVA[\*)5%EKU $3YM##Q!RG@YQ_[ O 6HU,)]K?_E#KA>W;
MID[>RWMKO!58$@#9.\H5<QO-\SU"IOC#1YW37J,_Z'UNHNY"B--IYF\]P]X@
M%'@Q1$I_*&)YNWB];]X$^PEW')?=38 -AS]J=,5\3$RW6G-X7U16AS\W"]_/
M;T]T-ZMR)'>@43&__5=,"D&!-*@ @_V%NY?<>U2&NYE^;JJ3#Q:'[T%','LI
M,NY^&UOWH]*RSSSNJ^^'$/R@"+=9_!OS:G60L$N:8\Y&\?O3^(0D?G&NOFLA
M]"9],_I4TF(:")H$DU3,M[JN*DH1/H$C-98IRHT<Z'306WDW'AG"O[[Y$H,>
MHI.FS%QB);. 'Q'Z^/7QX_\#4$L! A0#%     @ A(*=7*O[-%%)-@  ?CT#
M  T              ( !     &5X7SDS-3,P-BYH=&U02P$"% ,4    " "$
M@IU<K_J-BW\#   9#@  $0              @ %T-@  ;G=P>"TR,#(V,#0R
M.2YX<V102P$"% ,4    " "$@IU<KAQF"NH$  !F+@  %0
M@ $B.@  ;G=P>"TR,#(V,#0R.5]D968N>&UL4$L! A0#%     @ A(*=7$>G
MEW\1!@  :SX  !4              ( !/S\  &YW<'@M,C R-C T,CE?;&%B
M+GAM;%!+ 0(4 Q0    ( (2"G5PH.7!4A 0  #4O   5              "
M 8-%  !N=W!X+3(P,C8P-#(Y7W!R92YX;6Q02P$"% ,4    " "$@IU<U[J2
MH7H/  !@8P  $P              @ $Z2@  ;G=P>#(P,C8P,S$Y7SAK+FAT
7;5!+!08     !@ & (0!  #E60     !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>nwpx20260319_8k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="nwpx-20260429.xsd" xlink:type="simple"/>
    <context id="d20268K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001001385</identifier>
        </entity>
        <period>
            <startDate>2026-04-29</startDate>
            <endDate>2026-04-29</endDate>
        </period>
    </context>
    <dei:AmendmentFlag contextRef="d20268K" id="ixv-271">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="d20268K" id="ixv-272">0001001385</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="d20268K" id="ixv-17">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="d20268K" id="ixv-282">2026-04-29</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="d20268K" id="ixv-28">NWPX Infrastructure, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="d20268K" id="ixv-37">OR</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="d20268K" id="ixv-42">0-27140</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="d20268K" id="ixv-46">93-0557988</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d20268K" id="ixv-58">201 NE Park Plaza Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="d20268K" id="ixv-60">Suite&#160;100</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="d20268K" id="ixv-64">Vancouver</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d20268K" id="ixv-66">WA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d20268K" id="ixv-68">98684</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d20268K" id="ixv-74">360</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d20268K" id="ixv-76">397-6250</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="d20268K" id="ixv-283">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="d20268K" id="ixv-284">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="d20268K" id="ixv-285">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="d20268K" id="ixv-286">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="d20268K" id="ixv-130">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d20268K" id="ixv-135">NWPX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d20268K" id="ixv-141">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="d20268K" id="ixv-287">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
