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

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			NORTHWEST PIPE CO
		CENTRAL INDEX KEY:			0001001385
		STANDARD INDUSTRIAL CLASSIFICATION:	STEEL PIPE & TUBES [3317]
		IRS NUMBER:				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:		22891916

	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
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>nwpx20220502_8k.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<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/2021" 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/2021-01-31" 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/2021" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:num="http://www.xbrl.org/dtr/type/numeric" 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/2021q4" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:rr="http://xbrl.sec.gov/rr/2018-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2021" xmlns:currency="http://xbrl.sec.gov/currency/2021" xmlns:exch="http://xbrl.sec.gov/exch/2021" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:nwpx="http://www.nwpx.com/20220504"><head>
	<title>nwpx20220502_8k.htm</title>

	<!-- Generated by ThunderDome Portal - 5/4/2022 4:31:24 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="d20228K" name="dei:AmendmentFlag">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d20228K" name="dei:EntityCentralIndexKey">0001001385</ix:nonNumeric>

</ix:hidden>
<ix:references>
<link:schemaRef xlink:href="nwpx-20220504.xsd" xlink:type="simple" />
</ix:references>
<ix:resources>
<xbrli:context id="d20228K">
<xbrli:entity>
<xbrli:identifier scheme="http://www.sec.gov/CIK">0001001385</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2022-05-04</xbrli:startDate>
<xbrli:endDate>2022-05-04</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;">&#xa0;</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;">&#xa0;</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="d20228K" name="dei:DocumentType"><b>8-K</b></ix:nonNumeric></b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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="d20228K" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate"><b>May</b>&#xa0;<b>4, 2022</b></ix:nonNumeric></div>

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

<div style="font-family: &quot;Times New Roman&quot;; font-size: 18pt; font-variant: normal; text-align: center; margin: 0pt;"><ix:nonNumeric contextRef="d20228K" name="dei:EntityRegistrantName"><b>NORTHWEST PIPE COMPANY</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;">&#xa0;</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="d20228K" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode"><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="d20228K" name="dei:EntityFileNumber"><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="d20228K" name="dei:EntityTaxIdentificationNumber"><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</div>

			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">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</div>

			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Identification No.)</div>
			</td>
		</tr>

</tbody></table>

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

<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><ix:nonNumeric contextRef="d20228K" name="dei:EntityAddressAddressLine1"><b>201 NE Park Plaza Drive</b></ix:nonNumeric><b>, <ix:nonNumeric contextRef="d20228K" name="dei:EntityAddressAddressLine2"><b>Suite&#xa0;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;"><ix:nonNumeric contextRef="d20228K" name="dei:EntityAddressCityOrTown"><b>Vancouver</b></ix:nonNumeric><b>, <ix:nonNumeric contextRef="d20228K" name="dei:EntityAddressStateOrProvince"><b>WA</b></ix:nonNumeric> <ix:nonNumeric contextRef="d20228K" name="dei:EntityAddressPostalZipCode"><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;">&#xa0;</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: <ix:nonNumeric contextRef="d20228K" name="dei:CityAreaCode"><b>360</b></ix:nonNumeric><b>-<ix:nonNumeric contextRef="d20228K" name="dei:LocalPhoneNumber"><b>397-6250</b></ix:nonNumeric></b></div>

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

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 36pt;">Check the appropriate box below if the Form&#xa0;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;">&#xa0;</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="d20228K" format="ixt-sec:boolballotbox" name="dei:WrittenCommunications">&#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&#xa0;425 under the Securities Act (17&#xa0;CFR&#xa0;230.425)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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="d20228K" format="ixt-sec:boolballotbox" name="dei:SolicitingMaterial">&#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&#xa0;14a-12 under the Exchange Act (17&#xa0;CFR&#xa0;240.14a-12)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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="d20228K" format="ixt-sec:boolballotbox" name="dei:PreCommencementTenderOffer">&#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&#xa0;14d-2(b) under the Exchange Act (17&#xa0;CFR&#xa0;240.14d-2(b))</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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="d20228K" format="ixt-sec:boolballotbox" name="dei:PreCommencementIssuerTenderOffer">&#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&#xa0;13e-4(c) under the Exchange Act (17&#xa0;CFR&#xa0;240.13e-4(c))</div>
			</td>
		</tr>

</tbody></table>

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

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

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

			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">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;"><ix:nonNumeric contextRef="d20228K" name="dei:Security12bTitle"><b>Common Stock, par value $0.01 per share</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align: top; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</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="d20228K" name="dei:TradingSymbol"><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;">&#xa0;</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;"><ix:nonNumeric contextRef="d20228K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName"><b>Nasdaq Global Select Market</b></ix:nonNumeric></div>
			</td>
		</tr>

</tbody></table>

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

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 36pt;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule&#xa0;405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule&#xa0;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;">&#xa0;</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&#xa0;&#xa0;&#xa0;&#xa0;<ix:nonNumeric contextRef="d20228K" format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></div>

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

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 36pt;">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&#xa0;13(a) of the Exchange Act. &#xa0;&#xa0;&#xa0;&#xa0;&#9744;</div>

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

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%">&#xa0;</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%">&#xa0;</div>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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%;">&#xa0;</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%;">&#xa0;</td>
			<td style="vertical-align:top;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:41.1%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#xa0;</td>
			<td style="vertical-align:top;width:0.9%;">&#xa0;</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 May&#xa0;4, 2022, Northwest Pipe Company (the &#8220;Company&#8221;) issued a press release announcing its financial results for the quarter ended March&#xa0;31, 2022 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 May&#xa0;4, 2022 is furnished herewith as Exhibit No.&#xa0;99.1 to this Report, and shall not be deemed filed for purposes of Section&#xa0;18 of the Exchange Act.</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#xa0;</td>
			<td style="vertical-align:top;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:41.1%;">&#xa0;</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%;">&#xa0;</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%;">&#xa0;</td>
			<td style="vertical-align:top;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:41.1%;">&#xa0;</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%;">&#xa0;</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%;">&#xa0;</td>
			<td style="vertical-align:top;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:41.1%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#xa0;</td>
			<td style="vertical-align:top;width:0.9%;">&#xa0;</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;">99.1&#xa0;<a href="ex_370664.htm" style="-sec-extract:exhibit;">Press Release issued by Northwest Pipe Company dated May&#xa0;4, 2022</a></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#xa0;</td>
			<td style="vertical-align:top;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:41.1%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:3.7%;">&#xa0;</td>
			<td style="vertical-align:top;width:0.9%;">&#xa0;</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;">&#xa0;</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%">&#xa0;</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%">&#xa0;</div>
</div>

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

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 36pt;">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 May&#xa0;4, 2022.</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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:22.8%;">&#xa0;</td>
			<td colspan="2" style="vertical-align:top;width:22.8%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>NORTHWEST PIPE COMPANY</b></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:22.8%;">&#xa0;</td>
			<td colspan="2" style="vertical-align:top;width:22.8%;">
			<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:22.8%;">&#xa0;</td>
			<td style="vertical-align:middle;width:1.4%;">&#xa0;</td>
			<td style="vertical-align:middle;width:21.5%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:22.8%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:1.4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">By</div>
			</td>
			<td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:21.5%;">
			<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:22.8%;">&#xa0;</td>
			<td style="vertical-align:top;width:1.4%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:21.5%;">
			<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:22.8%;">&#xa0;</td>
			<td style="vertical-align:top;width:1.4%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:21.5%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Senior</b>&#xa0;<b>Vice</b>&#xa0;<b>President, Chief</b>&#xa0;<b>Financial</b>&#xa0;<b>Officer, and</b></div>

			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Corporate</b>&#xa0;<b>Secretary</b></div>
			</td>
		</tr>

</tbody></table>

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

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

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


</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>ex_370664.htm
<DESCRIPTION>EXHIBIT 99.1
<TEXT>
<html><head>
	<title>ex_370664.htm</title>
	<!-- Generated by ThunderDome Portal - 5/4/2022 5:16:29 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;">
<div contenteditable="false" data-applyto="t" 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="margin-bottom: 0px; text-align: right; margin-top: 0px"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt"><b>Exhibit 99.1</b></font></p>

<p style="margin-bottom: 0px; text-align: left; margin-top: 0px"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font><img alt="northwestlogo03.jpg" src="northwestlogo03.jpg"></p>

<p style="margin-bottom: 0px; text-align: left; margin-top: 0px">&nbsp;</p>

<p style="margin-bottom: 0px; text-align: left; margin-top: 0px">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Northwest Pipe Company Announces First Quarter 2022 Financial Results</b></p>

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

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8226;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Net sales of $109.3</i>&nbsp;<i>million increased 51.2% year-over-year</i></p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8226;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Gross profit of $14.8</i>&nbsp;<i>million increased 68.5% year-over-year</i></p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8226;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Backlog<sup style="vertical-align:top;line-height:120%;font-size:pt">1</sup> of $200</i>&nbsp;<i>million; backlog including confirmed orders<sup style="vertical-align:top;line-height:120%;font-size:pt">2</sup> of $341</i>&nbsp;<i>million for the Engineered Steel Pressure Pipe segment (</i>&#8220;<i>SPP</i>&#8221;<i>), a new quarterly record</i></p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8226;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Record order book<sup style="vertical-align:top;line-height:120%;font-size:pt">3</sup> of $66</i>&nbsp;<i>million for the Precast Infrastructure and Engineered Systems segment (</i>&#8220;<i>Precast</i>&#8221;<i>)</i></p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8226;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Net income of $0.36 per diluted share; adjusted net income of $0.42 per diluted share</i></p>
			</td>
		</tr>

</table>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>VANCOUVER, Washington</b>&#8212;May&nbsp;4, 2022&#8212;Northwest Pipe Company (NASDAQ: NWPX) (the &#8220;Company&#8221;), a leading manufacturer of water-related infrastructure including engineered pipeline systems and precast products, today announced its financial results for the first quarter ended March&nbsp;31, 2022. The Company will broadcast its first quarter 2022 earnings conference call on Thursday, May&nbsp;5, 2022 at 7:00&nbsp;a.m.&nbsp;PT.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Management Commentary</b></p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">&#8220;The integration of ParkUSA, which was acquired on October&nbsp;5, 2021, is on schedule and we continue to be very excited about the future growth prospects of this business. Our Precast business remained strong in the first quarter generating $34.6&nbsp;million in revenue and a gross profit margin nearing 22%. We ended the first quarter with a record Precast order book of $66&nbsp;million. We expect the order book to continue to grow for the near term which should facilitate further margin expansion as we progress through what appears to be a very strong precast market in 2022,&#8221; said Scott Montross, President and Chief Executive Officer of Northwest Pipe Company.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Mr.&nbsp;Montross continued, &#8220;We experienced very strong steel pressure pipe bidding during the first quarter of 2022 which elevated our backlog including confirmed orders to an all-time record of $341&nbsp;million. Despite the first quarter being projected to be the largest bidding period of the year, we expect bidding to be fairly solid throughout 2022 and backlog to remain elevated compared to recent historical levels. The improving quality of the backlog is expected to lead to SPP margin expansion into the mid-teens beginning in the second quarter. As we have discussed earlier, SPP gross profit margins remained muted in the first quarter due to the extremely small bidding market and associated bidding pressures we experienced in 2021. In addition, we recorded a discrete charge for a settlement of a product liability claim on a dispute that originated in 2015, which reduced our gross profit for the quarter. Without the settlement charge, our first quarter SPP margins would have been similar to those realized in both the first and fourth quarters of 2021.&#8221;</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;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: Times New Roman; font-size: 9pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;font-size:pt">1</sup> Northwest Pipe Company defines &#8220;backlog&#8221; as the balance of remaining performance obligations under signed contracts for Engineered Steel Pressure Pipe products for which revenue is recognized over time.</p>

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

<p style="font-family: Times New Roman; font-size: 9pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;font-size:pt">2</sup> Northwest Pipe Company defines &#8220;confirmed orders&#8221; as Engineered Steel Pressure Pipe 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: Times New Roman; font-size: 9pt; font-variant: normal; margin: 0pt; text-align: justify;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 9pt; font-variant: normal; margin: 0pt; text-align: justify;"><sup style="vertical-align:top;line-height:120%;font-size:pt">3</sup> Northwest Pipe Company defines &#8220;order book&#8221; as unfulfilled orders outstanding at the measurement date for its Precast Infrastructure and Engineered Systems segment. Cancelations against outstanding orders are measured in the period they are received.</p>

<p style="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: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>First Quarter 2022 Financial Results</b></p>

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

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

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

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Net sales increased 51.2% to $109.3&nbsp;million from $72.3&nbsp;million in the first quarter of 2021.</p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Gross profit increased 68.5% to $14.8&nbsp;million, or 13.5% of net sales, from $8.8&nbsp;million, or 12.1% of net sales, in the first quarter of 2021.</p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Net income was $3.6&nbsp;million, or $0.36 per diluted share, compared to $2.2&nbsp;million, or $0.22 per diluted share, in the first quarter of 2021.</p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Adjusted net income was $4.2&nbsp;million, or $0.42 per diluted share, compared to $2.3&nbsp;million, or $0.23 per diluted share, in the first quarter of 2021. Adjusted net income, which is a non-GAAP financial measure, is reconciled to net income in the table titled &#8220;Reconciliation of Non-GAAP Financial Measures&#8221;&nbsp;below.</p>
			</td>
		</tr>

</table>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Engineered Steel Pressure Pipe Segment (SPP)</i></p>

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

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">SPP net sales increased 24.4% to $74.7&nbsp;million from $60.0&nbsp;million in the first quarter of 2021 driven by an 85% increase in selling price per ton due to increased materials costs and changes in product mix, partially offset by a 33% decrease in tons produced resulting from changes in project timing.</p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">SPP gross profit remained relatively flat at $7.2&nbsp;million, or 9.6% of SPP net sales, compared to 11.9% of SPP net sales in the first quarter of 2021 due to the combination of changes in product mix and pressure on project pricing. SPP gross profit in the first quarter of 2022 was reduced for a product liability settlement reserve recorded in the quarter.</p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">SPP backlog was approximately $200&nbsp;million as of March&nbsp;31, 2022 compared to $183&nbsp;million as of December&nbsp;31, 2021 and $178&nbsp;million as of March&nbsp;31, 2021. Backlog including confirmed orders was $341&nbsp;million as of March&nbsp;31, 2022 compared to $290&nbsp;million as of December&nbsp;31, 2021 and $210&nbsp;million as of March&nbsp;31, 2021.</p>
			</td>
		</tr>

</table>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Precast Infrastructure and Engineered Systems Segment (Precast)</i></p>

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

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Precast net sales increased 182.5% to $34.6&nbsp;million from $12.3&nbsp;million in the first quarter of 2021 primarily due to the Park Environmental Equipment,&nbsp;LLC (&#8220;ParkUSA&#8221;) operations acquired in October 2021, which contributed $19.7&nbsp;million in net sales during the first quarter of 2022, as well as a 22% increase in net sales at the Geneva Pipe and Precast Company (&#8220;Geneva&#8221;) operations due to a 35% increase in selling prices due to the high demand for the Company&#8217;s concrete products coupled with increased material costs, partially offset by a 10% decrease in volume shipped due to changes in product mix.</p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Precast gross profit increased 368.7% to $7.6&nbsp;million, or 21.9% of Precast net sales, from $1.6&nbsp;million, or 13.2% of Precast net sales, in the first quarter of 2021 due to contributions from the ParkUSA operations, as well as improved pricing at the Geneva operations.</p>
			</td>
		</tr>

</table>

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

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Precast order book was approximately $66&nbsp;million as of March&nbsp;31, 2022 compared to $51&nbsp;million as of December&nbsp;31, 2021 and $16&nbsp;million as of March&nbsp;31, 2021. December&nbsp;31, 2021 was the first period that included the order book for ParkUSA.</p>
			</td>
		</tr>

</table>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Liquidity Details</b></p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">As of March&nbsp;31, 2022, the Company had $90.3&nbsp;million of outstanding revolving loan borrowings, $1.1&nbsp;million of outstanding letters of credit, and additional borrowing capacity of approximately $34&nbsp;million. The Company expects to have sufficient credit available to support its operations for at least the next twelve months with near-term repayment of outstanding debt remaining a high priority.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Conference Call Details</b></p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">A conference call and simultaneous webcast to discuss the Company&#8217;s first quarter 2022 financial results will be held on Thursday, May&nbsp;5, 2022 at 7:00&nbsp;a.m.&nbsp;PT. The call will be broadcast live over the Internet hosted on the Investor Relations section of the Company&#8217;s website at investor.nwpipe.com 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;19, 2022 by dialing 1&#8209;844-512-2921 in the U.S. or 1&#8209;412-317-6671 internationally and entering the replay access code: 13728597.</p>

<p style="font-family:'Times New Roman';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="2" data-prefix="" data-suffix="" style="text-align: right; font-size: 10pt; font-family: Times New Roman;">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: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>About Northwest Pipe Company</b></p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Founded in 1966, Northwest Pipe Company is a leading manufacturer of water-related infrastructure products. In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, the Company manufactures high-quality precast and reinforced concrete products; water, wastewater, and stormwater equipment; steel casing pipe; bar-wrapped concrete cylinder pipe; and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, Northwest Pipe Company provides solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok&#174;, and Northwest Pipe Company lines. The Company's diverse team is committed to quality and innovation while demonstrating the Company's core values of accountability, commitment, and teamwork. The Company is headquartered in Vancouver, Washington, and has 13 manufacturing facilities across North America. Please visit www.nwpipe.com for more information.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Forward-Looking Statements</b></p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Statements in this press release by Scott Montross are &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995 and Section&nbsp;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 cancelations, timing of customer orders and deliveries, production schedules, price and availability of raw materials, excess or shortage of production capacity, international trade policy and regulations, changes in tariffs and duties imposed on imports and exports and related impacts on the Company, 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 ParkUSA and other acquisitions into its business and operations and achieve significant administrative and operational cost synergies and accretion to financial results, impacts of recent U.S. tax reform legislation on the Company&#8217;s results of operations, adequacy of the Company&#8217;s insurance coverage, supply chain challenges, labor shortages, ongoing military conflicts in the Ukraine and related consequences, operating problems at the Company&#8217;s manufacturing operations including fires, explosions, inclement weather, and natural disasters, impacts of pandemics, epidemics, or other public health emergencies, such as coronavirus disease 2019, and other risks discussed in the Company&#8217;s Annual Report on Form&nbsp;10&#8209;K for the year ended December&nbsp;31, 2021 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:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Non-GAAP Financial Measures</b></p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The Company is presenting backlog including confirmed orders, adjusted net income, and adjusted diluted net income per share. These non-GAAP financial measures are 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:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">For more information, visit www.nwpipe.com.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>Contact:</b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Aaron Wilkins</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Chief Financial Officer</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Northwest Pipe Company</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">(360)&nbsp;397&#8209;6294 &#8226; investors@nwpipe.com</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Or Addo Investor Relations</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">(310)&nbsp;829&#8209;5400</p>

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

<p style="font-family:'Times New Roman';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="3" data-prefix="" data-suffix="" style="text-align: right; width: 100%; font-size: 10pt; font-family: Times New Roman;">3</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>

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

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

		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES</b></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</b></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Unaudited)</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(In thousands, except per share amounts)</p>
			</td>
		</tr>

</table>

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

<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">

		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="6" id=".amt.D3" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended March&nbsp;31, </b></b></p>
			</td>
			<td id=".trail.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td id=".trail.D2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p>
			</td>
			<td id=".trail.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales:</p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">74,715</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">60,057</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">34,616</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,254</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total net sales</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">109,331</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">72,311</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of sales:</p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">67,526</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">52,903</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">27,019</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,633</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total cost of sales</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">94,545</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63,536</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Gross profit:</p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,189</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,154</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,597</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,621</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total gross profit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,786</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,775</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Selling, general, and administrative expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,368</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,830</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,418</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,945</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">59</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Interest expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(560</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p>
			</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(227</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p>
			</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Income before income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,902</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,777</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Income tax expense</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,343</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">602</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,559</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,175</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income per share:</p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.36</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.36</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Shares used in per share calculations:</p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,881</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,814</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,973</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,921</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>

</table>

<p style="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>

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

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

		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES</b></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>CONDENSED CONSOLIDATED BALANCE SHEETS</b></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Unaudited)</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(In thousands)</p>
			</td>
		</tr>

</table>

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

<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">

		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>March&nbsp;31,&nbsp;2022</b></b></p>
			</td>
			<td id=".trail.D2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December&nbsp;31,&nbsp;2021</b></b></p>
			</td>
			<td id=".trail.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets</b></p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".amt.B2" style="text-align: justify; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b>&nbsp;</b></td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".amt.B3" style="text-align: justify; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b>&nbsp;</b></td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Current assets:</p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="text-align: justify; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="text-align: justify; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Cash and cash equivalents</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,301</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,997</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Trade and other receivables, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">59,227</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">52,664</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Contract assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">111,067</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">107,170</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Inventories</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">62,708</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">59,651</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Prepaid expenses and other</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,939</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,744</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total current assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">241,242</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">228,226</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Property and equipment, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">123,047</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">121,266</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease right-of-use assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">97,085</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">98,507</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Goodwill</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">53,684</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">53,684</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets, net</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">38,182</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">39,376</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,281</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,620</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total assets</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">559,521</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">547,679</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities and Stockholders</b>&#8217;<b> Equity</b></p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".amt.B2" style="text-align: justify; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b>&nbsp;</b></td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
			<td id=".amt.B3" style="text-align: justify; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b>&nbsp;</b></td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b>&nbsp;</b></td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Current liabilities:</p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="text-align: justify; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="text-align: justify; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Accounts payable</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36,953</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">32,267</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Accrued liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,912</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">24,498</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Contract liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,090</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,623</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Current portion of operating lease liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,769</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,704</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total current liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">69,724</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">64,092</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Borrowings in line of credit</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90,252</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">86,761</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">92,539</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">93,725</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income taxes</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,370</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,984</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other long-term liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,638</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,734</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total liabilities</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">272,523</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">264,296</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Stockholders' equity</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">286,998</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">283,383</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total liabilities and stockholders&#8217; equity</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">559,521</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">547,679</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>

</table>

<p style="margin: 0pt;">&nbsp;</p>

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

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

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

		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES</b></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>RECONCILIATION OF NON-GAAP FINANCIAL MEASURES</b></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Unaudited)</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:53.4%;">
			<p style="font-family:Times New Roman;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;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">

		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="6" id=".amt.D3" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended March&nbsp;31,</b></b></p>
			</td>
			<td id=".trail.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">&nbsp;</td>
			<td id=".lead.D2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td id=".trail.D2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
			<td id=".lead.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td colspan="2" id=".amt.D3" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p>
			</td>
			<td id=".trail.D3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income, as reported</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,559</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,175</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Adjustments for non-recurring items:</p>
			</td>
			<td id=".lead.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Acquisition-related transaction costs</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">146</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amortization of acquired intangibles<sup style="vertical-align:top;line-height:120%;font-size:pt"> (1)</sup></p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">879</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Estimated tax impact of non-recurring items</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(223</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p>
			</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(36</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p>
			</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Adjusted net income</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,238</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,285</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted net income per share, as reported</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.36</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="width: 68%;">&nbsp;</td>
			<td id=".lead.B2" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B2" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B2" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B2" style="width: 1%;">&nbsp;</td>
			<td id=".lead.B3" style="width: 1%;">&nbsp;</td>
			<td id=".symb.B3" style="width: 1%;">&nbsp;</td>
			<td id=".amt.B3" style="width: 13%;">&nbsp;</td>
			<td id=".trail.B3" style="width: 1%;">&nbsp;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Adjusted diluted net income per share</p>
			</td>
			<td id=".lead.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.2" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.2" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.42</td>
			<td id=".trail.2" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
			<td id=".lead.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&nbsp;</td>
			<td id=".symb.3" style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td id=".amt.3" style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.23</td>
			<td id=".trail.3" nowrap="true" style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&nbsp;</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';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">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">
			<p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">(1)</p>
			</td>
			<td style="width: auto;">
			<p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">Amortization of acquired intangibles represents amortization of ParkUSA intangible assets only and is included for comparability purposes between 2022 and 2021.</p>
			</td>
		</tr>

</table>

<p style="margin: 0pt;">&nbsp;</p>

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


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>nwpx-20220504.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 5/4/2022 4:31:29 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:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:stpr="http://xbrl.sec.gov/stpr/2021" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:sic="http://xbrl.sec.gov/sic/2021" xmlns:currency="http://xbrl.sec.gov/currency/2021" xmlns:exch="http://xbrl.sec.gov/exch/2021" xmlns:nwpx="http://www.nwpx.com/20220504" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.nwpx.com/20220504">
<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://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/stpr/2021" schemaLocation="https://xbrl.sec.gov/stpr/2021/stpr-2021.xsd"/>
<xsd:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.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/2021q4" schemaLocation="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/country/2021" schemaLocation="https://xbrl.sec.gov/country/2021/country-2021.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/sic/2021" schemaLocation="https://xbrl.sec.gov/sic/2021/sic-2021.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/currency/2021" schemaLocation="https://xbrl.sec.gov/currency/2021/currency-2021.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/exch/2021" schemaLocation="https://xbrl.sec.gov/exch/2021/exch-2021.xsd"/>

<xsd:annotation>
<xsd:appinfo>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20220504_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-20220504_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-20220504_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/20220504/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-20220504_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 5/4/2022 4:31:29 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/20220504/role/statement-document-and-entity-information" xlink:href="nwpx-20220504.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:definitionLink xlink:role="http://www.nwpx.com/20220504/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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-20220504_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 5/4/2022 4:31:29 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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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/2021q4/dei-2021q4.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-20220504_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 5/4/2022 4:31:29 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/20220504/role/statement-document-and-entity-information" xlink:href="nwpx-20220504.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:presentationLink xlink:role="http://www.nwpx.com/20220504/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.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>northwestlogo03.jpg
<TEXT>
begin 644 northwestlogo03.jpg
M_]C_X  02D9)1@ ! @$ 2 !(  #_[0J,4&AO=&]S:&]P(#,N,  X0DE- ^T
M     !  2     $  0!(     0 !.$))300-       $    >#A"24T#\P
M    "           .$))300*       !   X0DE-)Q        H  0
M   ".$))30/U      !( "]F9@ ! &QF9@ &       ! "]F9@ ! *&9F@ &
M       ! #(    ! %H    &       ! #4    ! "T    &       !.$))
M30/X      !P  #_____________________________ ^@     ________
M_____________________P/H     /____________________________\#
MZ     #_____________________________ ^@  #A"24T$         @ !
M.$))300"       $     #A"24T$"       $     $   )    "0      X
M0DE-!!0       0    ".$))300,      C>     0   '     6   !4
M'.    C" !@  ?_8_^  $$I&248  0(! $@ 2   _^X #D%D;V)E &2
M ?_; (0 # @(" D(# D)#!$+"@L1%0\,# \5&!,3%1,3&!$,# P,# P1# P,
M# P,# P,# P,# P,# P,# P,# P,# P,# $-"PL-#@T0#@X0% X.#A04#@X.
M#A01# P,# P1$0P,# P,#!$,# P,# P,# P,# P,# P,# P,# P,# P,# P,
M_\  $0@ %@!P P$B  (1 0,1 ?_=  0 !__$ 3\   $% 0$! 0$!
M  ,  0($!08'" D*"P$  04! 0$! 0$          0 " P0%!@<("0H+$  !
M! $# @0"!0<&" 4###,!  (1 P0A$C$%05%A$R)Q@3(&%)&AL4(C)!52P6(S
M-'*"T4,')9)3\.'Q8W,U%J*R@R9$DU1D1<*C=#87TE7B9?*SA,/3=>/S1B>4
MI(6TE<34Y/2EM<75Y?569G:&EJ:VQM;F]C='5V=WAY>GM\?7Y_<1  (" 0($
M! ,$!08'!P8%-0$  A$#(3$2!$%187$B$P4R@9$4H;%"(\%2T? S)&+A<H*2
M0U,58W,T\24&%J*R@P<F-<+21)-4HQ=D154V=&7B\K.$P]-UX_-&E*2%M)7$
MU.3TI;7%U>7U5F9VAI:FML;6YO8G-T=79W>'EZ>WQ__:  P# 0 "$0,1 #\
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
MZYU+K'6>K9M]+9_UC[1Y.DG1NQ=[_P!7_6?NH+]5)+Y5255>_522^54DE/\
M_]DX0DE-! 8       <  0    $! /_B#%A)0T-?4%)/1DE,10 ! 0  #$A,
M:6YO A   &UN=')21T(@6%E:( ?.  ( "0 & #$  &%C<W!-4T94     $E%
M0R!S4D="                  #VU@ !     -,M2% @(
M                                                $6-P<G0   %0
M    ,V1E<V,   &$    ;'=T<'0   'P    %&)K<'0   ($    %')865H
M  (8    %&=865H   (L    %&)865H   )     %&1M;F0   )4    <&1M
M9&0   +$    B'9U960   -,    AG9I97<   /4    )&QU;6D   /X
M%&UE87,   0,    )'1E8V@   0P    #')44D,   0\   (#&=44D,   0\
M   (#&)44D,   0\   (#'1E>'0     0V]P>7)I9VAT("AC*2 Q.3DX($AE
M=VQE='0M4&%C:V%R9"!#;VUP86YY  !D97-C         !)S4D="($E%0S8Q
M.38V+3(N,0              $G-21T(@245#-C$Y-C8M,BXQ
M                                                      !865H@
M        \U$  0    $6S%A96B                      6%E:(
M &^B   X]0   Y!865H@        8ID  +>%   8VEA96B         DH
M#X0  +;/9&5S8P         6245#(&AT=' Z+R]W=W<N:65C+F-H
M       6245#(&AT=' Z+R]W=W<N:65C+F-H
M                                     &1E<V,         +DE%0R V
M,3DV-BTR+C$@1&5F875L="!21T(@8V]L;W5R('-P86-E("T@<U)'0@
M        +DE%0R V,3DV-BTR+C$@1&5F875L="!21T(@8V]L;W5R('-P86-E
M("T@<U)'0@                            !D97-C         "Q2969E
M<F5N8V4@5FEE=VEN9R!#;VYD:71I;VX@:6X@245#-C$Y-C8M,BXQ
M       L4F5F97)E;F-E(%9I97=I;F<@0V]N9&ET:6]N(&EN($E%0S8Q.38V
M+3(N,0                                  =FEE=P      $Z3^ !1?
M+@ 0SQ0  ^W,  03"P #7)X    !6%E:(       3 E6 %    !7'^=M96%S
M          $                        "CP    )S:6<@     $-25"!C
M=7)V        !      %  H #P 4 !D '@ C "@ +0 R #< .P!  $4 2@!/
M %0 60!> &, : !M '( =P!\ ($ A@"+ )  E0": )\ I "I *X L@"W +P
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
M# P,#/_  !$( #P!+ ,!(@ "$0$#$0'_W0 $ !/_Q $_   !!0$! 0$! 0
M       #  $"! 4&!P@)"@L!  $% 0$! 0$!          $  @,$!08'" D*
M"Q   00! P($ @4'!@@% PPS 0 "$0,$(1(Q!4%181,B<8$R!A21H;%"(R05
M4L%B,S1R@M%#!R624_#A\6-S-1:BLH,F1)-49$7"HW0V%])5XF7RLX3#TW7C
M\T8GE*2%M)7$U.3TI;7%U>7U5F9VAI:FML;6YO8W1U=G=X>7I[?'U^?W$0 "
M @$"! 0#! 4&!P<&!34!  (1 R$Q$@1!46%Q(A,%,H&1%*&Q0B/!4M'P,R1B
MX7*"DD-3%6-S-/$E!A:BLH,')C7"TD235*,79$55-G1EXO*SA,/3=>/S1I2D
MA;25Q-3D]*6UQ=7E]59F=H:6IK;&UN;V)S='5V=WAY>GM\?_V@ , P$  A$#
M$0 _ +OUQ^NO6SUMW0^@DUNJ<*G.K:'6V6D;BRO<';&L69ZO^-3PSO\ -9_Y
M%*O_ /*I_P"A[O\ J"O6U:G..,0 A$W$2N08P#*]3N^2>K_C4\,[_-9_Y%+U
M?\:GAG?YK/\ R*UOKA]?LXY[NB_5V?5:[TK,AC=[W6?1-.*WW?1_.L66WZH?
MXQ;F?:WWVBX^X,?EN%GX.]-O^>G@Z SCCA>UA!WT,BQ]7_&IX9W^:S_R*7J_
MXU/#._S6?^15OH'UZZUT7J(Z5]9@]]0<&/LN'Z:J?HV.?_AZ%Z>UP< YI!!$
M@C4$%,R9# ZXX&]B!H4@ ]2^6=%^NWUFZ3UJKI_UA+[*K7M9:R]H;;6+#M9<
MQS W<U>C]9;U%W2\EO2W!N>:S]F<8@/_ #?IRQ>8_P",3_Q;4_U,;_JRO6TS
M-7ZN8B!Q"R/T4QO47L^2X?U^^LO2^M^AUJ_[31CV.IS*0UFD'8]];ZVMW.J^
ME_+7H'U@LZOE]$%WU:M9]IM-=E5LMVFH^YY!M#F>YB\V9T5G7/KKU;ISG>F]
M[\I]+^PL8Z:R[^1^^MGZ@?6#(Z;EV_57JTU.:YS<7>?H6?GXT_N6_P Y1_ZD
M4F6$=)1 XH@2E&M#'R1$G8['2T'U3^L'UWZWU:NIF6+<;'LK?FM<VIOZ(NVO
MV_H]SOH_FKTK)S</$ =E7UXX/!M>UD_YY:O*/J'U0=(KZ]U(MWG&QFN:T\%Q
ML<RMI_ZXYJM_5WZG97UO99UWKF99MN>YM8;!<[:=KG#?N932UWLKK8Q#+CB9
M$FH0C0](^:15&1H=27T^F^C(K%M%C;:SP]C@YI_M-2^TX^_9ZK-\QMW"9\(7
MEN9A]0_Q=]<Q;\7(=?TS+/O8=-S6D>M7:P>SU:VOWU7-53ZY=(=TCZTT7]-M
M=9E=0?\ :Z7$ %MMECFUMK_M?O)HP D5+20N)KMO:>/PVW?73?2"X&QH-<%X
MD>V>-W[JXKZM?67J>7]<>J8&9EA^#C^MZ#"&- VVM97ML:&N?[#^\C='_P 7
MQQND=1PL[-=;?U=K!D6-;.PL)?[7V%SK?I?2L7&="^J.+U/ZS9W1;,A]=6";
M"RUK6ESO2L;4-S3[?=N2QPQUD]5T-^'_ )RB9::/0?7[K?UOZ)U(W8N4*.FY
M$-Q0&UN.YK&F[<'L<]OO7=5]0Q:Z:!E9%==UK&NVO>UI<2!PUQ"X?_&\ W$Z
M6.0++?\ J6(5W^+*S+Z4[J.5GOMZM95ZQ#@#7.W<VF3^D_D;_P#P-'AA+'C,
MB(;C0?,JR)&M7T=]E=;=UC@QO$N( _%19?18=M=C'GF&N!/X+S3ZK8=WUO\
MJGD=&R\A[?V?>RS&LT<8+'^G0_?_ (-K]R%_BRJP\/)ZIU')>:LCI]+A93 C
MTYW6/_>WUV4;$TX !/U>J'2OWOE5Q[:;OJB"<O%!(-U8(Y&X?WKRCZC_ %@R
M_P#G@V_+L>6=6-C'!Q);N>?5JV!WM]MC/203]5,;JGUXR^C8USSCM?99D9&T
M;FG^<M:T?1]M]GHH_=P)$2E51XKI7'IH.M/L+K*V5FQ[@VL"2\D!L>.Y Q^H
M]/RG%F+E4WN;RVNQKR/DQQ7F'6LFOK'7F_5[*ZBW Z+TEHH+['!HL=2&U/?M
M^A9>]_MK_,J8H]8Z!]4L+%^V_5WK;69^,-[&&YI<\MU_0OK%;Z[?W$!@&@,C
M<MJC8_PE<?AMXOK/&I0*\_ M<YM>34]S-7AKVDM'\J#[5YQUSZR]4ZK_ (OL
M?)#G-><C[-U&QFDAH):7;?HLO_1>HLWI_0?JAU3I.-7B=3&!UIP R1DDACI_
MG*FL]C-O^BV6)#!H3(D:\/I'%MW5Q]O-]!^NO5[^G?5W(R^GY#:LEOIFIXVN
M,.>UCMK7[MWM1/J;U._J7U>P\G,N%V98UQM/M!T>]@EC(V^U<C]<OJ=7A_5K
M%SK,DOOZ5C58H:QH%;P;/I^[WM_G5H_XL_JY1BX5?7VW.=;G4NK?20-K0+.6
MN^E_@DC&'LV#9XMZ_P":JSQ?1ZGKS.JOZ3D-Z,X,Z@0/L[G;0 =S=W\X',^A
MN7F?3_K%_C#ZEGV].PLKU<JC=ZC-M+0-CO2?[WL:WZ:]<7C?0/K!A_5_ZU]1
MSLQEEE;W7U 5 $R;=_Y[F?N(X-8S'")$:BQ:I[C4AV,7Z[_6KH/5:\+ZT5;Z
M+(WDM:U[6$[?7JLH_17,9^>NJ^N.1UYO3ZA]7;&C,-@+QNJ!](M?K^LG;]/8
MN"^L/6+OKWUK#P^EXSV,K!8TO@NAY;ZM]NS<VNJMK/WEI_XTOJ_1151U<6N=
M817A^D0-NUC;'^IN^EOT3S"/'CL"$S=QJX^'I19J74=WT# OL9T_%_:%C6Y3
MJ6&[<YHE^T>K]'V?3_<1WY.,RL6OM8VL\/+@&_YWT5YW]<NB4Y'U.Z7UAUCA
M9@XE%;*@!M<+?1:2X_2]JJ?5;ZC7_6/I=&7U3+LJP:PZO!QZX^B'.WV>_<QF
MZW?^9O>H_:AP\9G6I!T_)/$;JGU*NRNUH?6X/8>'-((^\)R0 23 ')7E.31U
M+_%WUW&=3D.R.E99E[#H'-!#;F/K^@V^K?OKM8K_ -?NLW=0ZY1]7*\QN!@;
M6/R[WNVM.\>J/4.FYC*MNRK_  EKT/8LBI7&0,N+PCOZ4\>FHU[/?5=4Z;?;
MZ-.719;_ *-EC7._S&NW*TO*LWZK?45N'/3>NL9GUB6666L+'.'DQK'5?UF.
M]B#_ ..#U3_FI]@]9W[4]7T?M4^_T-N[U-_^FW?H/5_ZXC[,=P9</Z7I]2.,
M^'VO_] -?_Y5/_0]W_4%>H=5OLQNEYF17_.4T66,^+6.<U>7U_\ Y5/_ $/=
M_P!05ZQ=4RZI]-@FNQI8\>(<-KE8S[X_[H60_2\WS+_%+@T7YV;U"T!]^.QC
M*B=2#;O=;9_6=LVKU!>/=/R\[Z@?6:ZC)K=9BO&QX&GJ4S-.123[?4K_ /2E
M:] K^O\ ]4GT>M^T&,TDUN:X6#^3Z>W<ES$)2GQ1!E&0'#2H$ 4="'#_ ,;7
M3\=_3<3J, 9%=WH;N[F/:]^P_P!1]>Y=!]1\FW)^JG3;;22\5;)/<5N=2W_H
M,7GWUJ^L.3]<^J8O2^DTN..QQ%#7"'/>?:[(M'^#JJ8O4NC].KZ7TO%Z?69;
MC5MKW>) ][_[;_<ED!CBA&7S7==HJCK(D;/F'^,3_P 6U/\ 4QO^K*]1ZGU"
MCIG3[^H9 <:<9ALL#!+H'[H):O+O\8G_ (MJ?ZF-_P!65ZQ=33?4ZF]C;:GB
M'UO <TCP<UWM<EEK@PWV5'>3XYT7ZS=.P?KGD]<N%AQ+WWEC6@%_Z4S7N9NV
M_P!;W+K/\8WU7.=C#K_3VG[7C-!R&M^D^ION;8-O^&Q__/:Z3+Z9]5<&HWYF
M)@X]0_/LKJ:/O<U2POK-]7<ZT8^)GT6V'1M8> 3Y-:Z-R1RDRC.$3Z11[<*A
M'0@G=\R^HO33UC&Z[T]C@'Y&(P,<>-X>;*]W_7&K1^J7UVK^K>-9T+KN/;4[
M&>[86MES=QW/JLK);^?[J[&+O^G-Z!7DW5=,;BLR6>W(9CBL/$&-MK:O=]/]
M]$S^B](ZD0<_#IR7-T#K& N _K_22EFC(R$HGAE1_K1*A$BJ.H?-NL=3R/\
M&!UW#Z?TVA]>#C$E]CP)#7%OK7V[9;7[&[*:]R#]<OK!T[(^MF%=2'BOI#VT
MWAP )--V]_I>[W>T+U3#P,' J]'"QZ\:ODMJ:&@GSVH-G0NBVO=99@8S['DN
M>]U+"23RYSBU(9X@CTGAB"(B_P![YE&![ZE)TOJ-'5.GT=0Q@X4Y+ ^L/$.@
M_O %R\NZ9]8<#ZO_ %WZQF9P>ZI]E]0%0#G;C:'\.<S]Q>L4TTT5-IH8VJI@
MAE; &M \&M;[6JI9T/HMMCK+<#&?8\ESWNI822>7.<6ID)QCQ @F,M$D$UX/
MG?\ C5ZSB9F1C=,J#Q?AS9:7 !L75L?7L=/^<NJ9]<NDCZI_M?;=]F;&*1M&
M_P!2/2^CO^AN6Y?T;I&38;<C"Q[K2 "]]3'.( VM]SF_FM4OV5TS[-]C^R4?
M9=V_T/3;Z>[]_P!/;LW(G) QA'A/I/?_ !E<)LF]WS?_ !5=9Q,7+OZ58''(
MSW-=26@%H%3+'/WNGVK,^N565T7ZS=3Q\7VU]6KG:/SF7.:][&_^A%;FKUFC
MH_2,:UMV/A8]-K9VV5U,:X3H=KFMW(E_3NGY-S+\C&JNNJCT[+&-<YL'<-CW
M#<WW)WOQ]PSX=)#4>*. \-7L^<?6_H#^@]!Z#G8_MR.F.:RY_P#+>?M.\_\
MH2Q_^>M3_%;@V649_7<CW79]Q:UY[M:39:X?U[W_ /@2[;(QL;*J-.34R^IT
M$UV-#FF-1[7RU/1CT8U3:<>ME-3/HUUM#6B=?:UOM33F)QF)&I/S>'S)X=;?
M*_K#TS#Z#];K<SK."<WHW4'.L:1(VN?[G["US/TU5G^#<[])4I]2ZI_BVIJ8
M.E]).?E6$!M4W5@3XN<YSG/_ )%;%ZCD8V/E5.IR:F75.^E78T.:?BURI87U
M>Z'@7>OAX%%%O:QC&AP_JN_-3AG%#BXK KTRX8R\T<':M?!YC.ZGC_5/ZKXK
MCT:JH=1L(OZ<;"YK2]I=^D?:RS>_96S>S:N5^L3_ *BY?1&9W2V_8^JO+=^$
MS=M:9_3ML:_]%L9^996O7,G"P\MK6Y=%>0UAW,%K0\!W[S=X/N5-_P!6_J^_
M*^UOZ=CNR"=QL-;9)_>.GTD(9HC4B7%=FC\W]4VHQ)[/$Y'VT?XIA]MW;I9Z
M6_Z7I>LWT)W?R/H?R%I?XMOK'@9/3<?H-8L^UXE+[+7$#TX]0_0?NW?X5OYB
M[&_&QLFDT9%3+J71-=C0YIC4>QWM0L7I?3,.PVXF)3CV$;2^JMK"1SMW,:U
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
2))*4DDDDI22222E))))*?__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm139865257441528">
<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>May 04, 2022</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity, Registrant Name</a></td>
<td class="text">NORTHWEST PIPE COMPANY<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document, Period End Date</a></td>
<td class="text">May  04,  2022<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.01 per share<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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>9
<FILENAME>nwpx20220502_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/2021q4"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="nwpx-20220504.xsd" xlink:type="simple"/>
    <context id="d20228K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001001385</identifier>
        </entity>
        <period>
            <startDate>2022-05-04</startDate>
            <endDate>2022-05-04</endDate>
        </period>
    </context>
    <dei:AmendmentFlag contextRef="d20228K">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="d20228K">0001001385</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="d20228K">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="d20228K">2022-05-04</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="d20228K">NORTHWEST PIPE COMPANY</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="d20228K">OR</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="d20228K">0-27140</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="d20228K">93-0557988</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d20228K">201 NE Park Plaza Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="d20228K">Suite&#160;100</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="d20228K">Vancouver</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d20228K">WA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d20228K">98684</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d20228K">360</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d20228K">397-6250</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="d20228K">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="d20228K">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="d20228K">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="d20228K">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="d20228K">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d20228K">NWPX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d20228K">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="d20228K">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>10
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( $"#I%0'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " ! @Z14HL8:@^\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9)1
M2\,P$,>_BN2]O31;!4/7%\6G"8(#Q;>0W+9@DX;DI-VWMXU;A^@'\#%W__SN
M=W"-#E+W$9]C'S"2Q70SNLXGJ<.&'8F"!$CZB$ZE<DKXJ;GOHU,T/>,!@M(?
MZH @.+\%AZ2,(@4SL @+D;6-T5)'5-3',][H!1\^8Y=A1@-VZ-!3@JJL@+7S
MQ' :NP:N@!E&&%WZ+J!9B+GZ)S9W@)V38[)+:AB&<ECEW+1#!6]/VY>\;F%]
M(N4U3K^2E70*N&&7R:^K^X?=(VL%%Z+@=<'7.\&EJ&5]]SZ[_O"["KO>V+W]
MQ\87P;:!7W?1?@%02P,$%     @ 0(.D5)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
MVJ5QD L9>3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XUA])
M1-MC0[!:+#Y +AEFM[UD%J=SI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2
M?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'<?VD-/IKV,BM'I;
MZ/EQ:%0*CMQC)8QQ8K3^-8+)#^Q^ %!+ P04    " ! @Z14.JJBYT !   \
M @  #P   'AL+W=O<FMB;V]K+GAM;(U176O#, S\*\8_8$G+5EAI!F/=1V%L
M91U]=V*E$;6M8*OMUE\_)2&LL)<]R3J)T]UY<:*X+XGVZLN[D K=,+?S+$M5
M ]ZD*VHAR*2FZ U+&W=9:B,8FQH ]BZ;YODL\P:#OEN,7.N873;$4#%2$+ #
MM@BG]#OO6G7$A"4ZY.]"]V\'6GD,Z/$,MM"Y5JFATPM%/%-@XS95).<*/1D&
M6XB,U1]XTXG\-&7J$3;EAQ$AA9[E0EAC3-QO]/Q&-!Y!EH?NP/2$CB$N#<-S
MI$.+8=?1B(OLPD:?PUB'$.?Q/S%276,%2ZH.'@(/.49PG<"0&FR35L%X*/2X
MHNZ#58^!)22U"@.5['9.Y?3*#JY9Y%YD&.<H@[BR@_!1K84: ]@W.9 $E^2J
M=51=Z7FFUS>36TGHX-R#8._AE8P=S8\?=_<#4$L#!!0    ( $"#I%0D'INB
MK0   /@!   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'.UD3T.@S ,
MA:\2Y0 U4*E#!4Q=6"LN$ 7S(Q(2Q:X*MR^% 9 Z=&&RGBU_[\E.GV@4=VZ@
MMO,D1FL&RF3+[.\ I%NTBB[.XS!/:A>LXEF&!KS2O6H0DBBZ0=@S9)[NF:*<
M//Y#='7=:7PX_;(X\ \PO%WHJ45D*4H5&N1,PFBV-L%2XLM,EJ*H,AF**I9P
M6B#BR2!M:59]L$].M.=Y%S?W1:[-XPFNWPQP>'3^ 5!+ P04    " ! @Z14
M99!YDAD!  #/ P  $P   %M#;VYT96YT7U1Y<&5S72YX;6RMDTU.PS 0A:\2
M95LE+BQ8H*8;8 M=< %C3QJK_I-G6M+;,T[:2J 2%85-K'C>O,^>EZS>CQ&P
MZ)WUV)0=47P4 E4'3F(=(GBNM"$Y2?R:MB)*M9-;$/?+Y8-0P1-XJBA[E.O5
M,[1R;ZEXZ7D;3?!-F<!B63R-PLQJ2AFC-4H2U\7!ZQ^4ZD2HN7/08&<B+EA0
MBJN$7/D=<.I[.T!*1D.QD8E>I6.5Z*U .EK >MKBRAE#VQH%.JB]XY8:8P*I
ML0,@9^O1=#%-)IXPC,^[V?S!9@K(RDT*$3FQ!'_'G2/)W55D(TADIJ]X(;+U
M[/M!3EN#OI'-X_T,:3?D@6)8YL_X>\87_QO.\1'"[K\_L;S63AI_YHOA/UY_
M 5!+ 0(4 Q0    ( $"#I%0'04UB@0   +$    0              "  0
M  !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ 0(.D5*+&&H/O    *P(
M !$              ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%
M  @ 0(.D5)E<G",0!@  G"<  !,              ( !S0$  'AL+W1H96UE
M+W1H96UE,2YX;6Q02P$"% ,4    " ! @Z1499AMW&8$   /$0  &
M        @($."   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%
M  @ 0(.D5)^@&_"Q @  X@P   T              ( !J@P  'AL+W-T>6QE
M<RYX;6Q02P$"% ,4    " ! @Z14EXJ[',     3 @  "P
M@ &&#P  7W)E;',O+G)E;'-02P$"% ,4    " ! @Z14.JJBYT !   \ @
M#P              @ %O$   >&PO=V]R:V)O;VLN>&UL4$L! A0#%     @
M0(.D5"0>FZ*M    ^ $  !H              ( !W!$  'AL+U]R96QS+W=O
M<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ 0(.D5&60>9(9 0  SP,  !,
M             ( !P1(  %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&      D
,"0 ^ @  "Q0

end
</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>12
<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>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.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="nwpx20220502_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/20220504/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 doctype="8-K" original="nwpx20220502_8k.htm">nwpx20220502_8k.htm</File>
    <File>ex_370664.htm</File>
    <File>nwpx-20220504.xsd</File>
    <File>nwpx-20220504_def.xml</File>
    <File>nwpx-20220504_lab.xml</File>
    <File>nwpx-20220504_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="23">http://xbrl.sec.gov/dei/2021q4</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>
{
 "instance": {
  "nwpx20220502_8k.htm": {
   "axisCustom": 0,
   "axisStandard": 0,
   "contextCount": 1,
   "dts": {
    "definitionLink": {
     "local": [
      "nwpx-20220504_def.xml"
     ]
    },
    "inline": {
     "local": [
      "nwpx20220502_8k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "nwpx-20220504_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "nwpx-20220504_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "nwpx-20220504.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/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.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://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.sec.gov/currency/2021/currency-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd",
      "https://xbrl.sec.gov/exch/2021/exch-2021.xsd",
      "https://xbrl.sec.gov/sic/2021/sic-2021.xsd",
      "https://xbrl.sec.gov/stpr/2021/stpr-2021.xsd"
     ]
    }
   },
   "elementCount": 27,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2021q4": 2,
    "total": 2
   },
   "keyCustom": 0,
   "keyStandard": 23,
   "memberCustom": 0,
   "memberStandard": 0,
   "nsprefix": "nwpx",
   "nsuri": "http://www.nwpx.com/20220504",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "nwpx20220502_8k.htm",
      "contextRef": "d20228K",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000 - Document - Document And Entity Information",
     "role": "http://www.nwpx.com/20220504/role/statement-document-and-entity-information",
     "shortName": "Document And Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "nwpx20220502_8k.htm",
      "contextRef": "d20228K",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 0,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document, Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document, Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity, Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity, Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity, Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity, Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity, Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity, Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity, Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity, File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity, Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity, Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity, Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Pre-commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Pre-commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.nwpx.com/20220504/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    }
   },
   "unitCount": 0
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r2": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r4": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r5": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12"
  },
  "r6": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001437749-22-010861-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-22-010861-xbrl.zip
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
M]I LYB%Y_BB[DL5*D+F9=$SQ$3J/@ R(;2!_ ='_%'@L,][QYS#DR@P5=9*
M]['2CNI5/F0HBU50PQ;U16P:PP4UZ62>PG60.TWY?,(JXL46::U#N7_3QX+J
MU!+_IZJ_J./-)&E[6NLN$WN9%(6!H?';1!Q)C[*=RM<V5#BE</7!EH<U"R;Y
MVO"$P] ,!SI.V^>I*F/B*E=,I QJGM3E">C=-%S4P*IC"!4P['"(BR'%=ZK1
MQ)-H9$UE M(2:#+V76X_*'ZZB2?C3]$J@@4?#-3 8\&X8F7EMI4\('\%-IM\
MGJB@L :BYIF77A,C=]\FL\QPB^<DC@^6S,"%#P T(B11]/8!-1@\GI=JE!BV
M7)6DL!BNZ106'NF< 9?9*MXQJ2$W/7432RYJC\UTB<-.=2-O3,4/X&+:0\[0
M+0O"@,.6Q[U#'6 5+K676Y9]2IV'@X[I,9 8+&D%M5:EN\_YQXPIS0=)X2?A
M0HGH/0DDIKN@>H:NBJ+T<NF1;#MTYZ;/&1U0KZG]L,C)Q;TP#@0"VNA!HUA2
M"+W,0$K@*5@7^'_79<A<!BC6_13CP@7?N_&%62/*O 4/PL,%'!I- D2_?0\P
M)C7#8W!3"*-"/QBV,4X*XL$N / 93:(D9L>:U<]22S4-<QOP@(E=-G;]4%(
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
M@-SM3[8DPKRS(8L.0QZ!UPC8D^L#5OVW_NFJ0V=WN!LXP'^/TTYO7ZP,@A9
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
M) =&2-0"Q_QA'%O+Z%>#T'>9=,60)6JWSS]<<!CO=9!UQ# VL^O-ZR156SQ
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
M<0:&J*)MJ-*G6_6M.?VT";BSH?*$N,GJ:[/)7M$WH]S7K8_!(%M8,++02F\
MZFTHR,%$[+XV\RYT+_J8*'#:H2%:;"JG\9K1<P[:/^!#O'6*!KY/'25D *U1
MW%X,/1>K(PL<%<8&#(Z RW';='Y.Q9N2OA1#J"DTQP ??(0OGZ0-+>+S\IQA
M&-(/I<^# >1"F,*,YX(AP(#WN,([":;&R4G61BJTRV\NU9IA!P.@17M*/091
M"XP6_1R/&9\(/)D1T*</(2<]F>-4-^95CSR=Z3K)YNT?QG0]I+$6-DN_QW%9
M;W9G;U_\T7C?Z'9>D??]D3>/V0I'YHJ"N^V5L1>'OTBAINSG_K0P^QD<)32;
M$;64F&>IV.0_Q:/\X6$)'S";!TRX\&-!8Q(,?YD9L)@C2 ':VX09[TU7^5JN
M?OILV<R?Y>@CW=Y]Q=V.X"X!,CM? @0 ":1%P8]JX#H(P @O>9U31<T5W3TV
M[#$7W63T\;BO?:^&?N.2X".7Q(U>+-G=$VBORTDO?3EIW:.:C_O86>-#L]K]
MW*Z_\*MOJ]>^XZ]$F>7LKR&74>"YWO[.?MHZN!M"E*GC4=<$?N:Y).P&@KT
MV X9PCQ+TV,0"/;1-F%#^NQK5 #CRM#'"!:;@^!X("0,5-=<-E5/OXGT [UJ
M ^P[7F&F0(7 &/QWF4)F[6:>V%5ZX.6FQW!?=IM!R=<I%E>35QOD-08_Y*[K
ML8?'OT9M.UO:OG+!-F]\;.O%1<<.MQQ'HG8TCN\Y>^^G]\>UR7..YH@C'G:<
M6?][!V\_QVLIN2!'JE2"RO["O1ON/U(@N_%,QEZ-V1"..\!$4'$)'NX_B6K[
M,1G983X7,O&2XI_<88D$C)[UNOL^J0TXZR<R+V:["HG4*_TJAM1KVW%_\:F'
M5XO>ADH.")PXR125TWN!\]QQVA/'@Y^JG:ZU",#N1'@7W?92VJ!O23&^FXBN
M'C$A86J@M!0VP1\1F_$Y^,K_ 5!+ 0(4 Q0    ( $"#I%0'==C[K2<  +4"
M @ -              "  0    !E>%\S-S V-C0N:'1M4$L! A0#%     @
M0(.D5&H\Z'QZ P  +@X  !$              ( !V"<  &YW<'@M,C R,C U
M,#0N>'-D4$L! A0#%     @ 0(.D5$=*,C7K!   U2X  !4
M ( !@2L  &YW<'@M,C R,C U,#1?9&5F+GAM;%!+ 0(4 Q0    ( $"#I%0X
MA&JR$08  -8^   5              "  9\P  !N=W!X+3(P,C(P-3 T7VQA
M8BYX;6Q02P$"% ,4    " ! @Z14GJL/DX8$  "@+P  %0
M@ 'C-@  ;G=P>"TR,#(R,#4P-%]P<F4N>&UL4$L! A0#%     @ 0(.D5*(H
MV0XH#P  K60  !,              ( !G#L  &YW<'@R,#(R,#4P,E\X:RYH
8=&U02P4&      8 !@"$ 0  ]4H

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