{"id":450107,"date":"2021-03-03T16:33:24","date_gmt":"2021-03-03T21:33:24","guid":{"rendered":"http:\/\/www.marketnewsdesk.com\/?p=450107"},"modified":"2021-03-03T16:33:24","modified_gmt":"2021-03-03T21:33:24","slug":"northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results","status":"publish","type":"post","link":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/","title":{"rendered":"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results"},"content":{"rendered":"<div class=\"xn-newslines\">\n<h2 class=\"xn-hedline\">&#8211; Annual net sales of $285.9 million increased 2.4% year-over-year<\/h2>\n<h2 class=\"xn-hedline\">&#8211; Annual gross profit of $50.5 million increased 7.1% year-over-year<\/h2>\n<h2 class=\"xn-hedline\">&#8211; Strong backlog of $167 million; $221 million including confirmed orders representing the tenth consecutive quarter over $200 million<\/h2>\n<h2 class=\"xn-hedline\">&#8211; Annual net income of $1.93 per diluted share; adjusted net income of $2.12 per diluted share<\/h2>\n<h2 class=\"xn-hedline\">&#8211; Strong operating cash flows drove increase in cash and cash equivalents to $37.9 million<\/h2>\n<p class=\"xn-distributor\">PR Newswire<\/p>\n<\/p><\/div>\n<div class=\"xn-content\">\n<p>\n        <span class=\"xn-location\">VANCOUVER, Wash.<\/span>, <span class=\"xn-chron\">March 3, 2021<\/span> \/PRNewswire\/ &#8212; Northwest Pipe Company (NASDAQ: NWPX), an industry leader of engineered pipeline systems for water infrastructure, today announced its financial results for the fourth quarter and full year ended December\u00a031, 2020. The Company will broadcast its fourth quarter and full year 2020 earnings conference call on Thursday, March\u00a04, 2021 at 7:00\u00a0a.m.\u00a0PT.<\/p>\n<div class=\"PRN_ImbeddedAssetReference\" id=\"DivAssetPlaceHolder1\">\n<p>\n          <a href=\"https:\/\/mma.prnewswire.com\/media\/1162112\/Northwest_Pipe_Company_Logo.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><br \/>\n            <img decoding=\"async\" src=\"https:\/\/mma.prnewswire.com\/media\/1162112\/Northwest_Pipe_Company_Logo.jpg\" title=\"Northwest Pipe Company Logo (PRNewsfoto\/Northwest Pipe Company)\" alt=\"Northwest Pipe Company Logo (PRNewsfoto\/Northwest Pipe Company)\" \/><br \/>\n          <\/a>\n        <\/p>\n<\/p><\/div>\n<p>\n        <b>Fourth Quarter 2020 Results<\/b>\n      <\/p>\n<p>Net sales decreased 4.0% to <span class=\"xn-money\">$69<\/span>.4\u00a0million in the fourth quarter of 2020 from <span class=\"xn-money\">$72<\/span>.2\u00a0million in the fourth quarter of 2019 due to a decline in legacy steel pipe sales as a result of a 31% decrease in production volumes associated with project timing. This was partially offset by a 17% increase in selling price per ton, in addition to an <span class=\"xn-money\">$11<\/span>.3\u00a0million contribution from the Company&#8217;s acquired <span class=\"xn-person\">Geneva Pipe<\/span> and Precast Company (&#8220;Geneva&#8221;) operations.<\/p>\n<p>Gross profit decreased 26.9% to <span class=\"xn-money\">$12<\/span>.4\u00a0million, or 17.8% of net sales, in the fourth quarter of 2020 from <span class=\"xn-money\">$16<\/span>.9\u00a0million, or 23.4% of net sales, in the fourth quarter of 2019, primarily due to lower production volume at legacy steel pipe facilities, which was partially offset by the margin contribution from Geneva. Gross profit in the fourth quarter of 2019 included <span class=\"xn-money\">$1<\/span>.4\u00a0million of business interruption insurance recovery related to the fire at the Company&#8217;s <span class=\"xn-location\">Saginaw, Texas<\/span> facility in <span class=\"xn-chron\">April 2019<\/span>.<\/p>\n<p>Net income was <span class=\"xn-money\">$5<\/span>.2\u00a0million, or <span class=\"xn-money\">$0.53<\/span> per diluted share, in the fourth quarter of 2020 compared to <span class=\"xn-money\">$12<\/span>.0\u00a0million, or <span class=\"xn-money\">$1.22<\/span> per diluted share, in the fourth quarter of 2019. The fourth quarter of 2020 included <span class=\"xn-money\">$0<\/span>.5\u00a0million of pre-tax amortization expenses from acquired intangibles, whereas the fourth quarter of 2019 included <span class=\"xn-money\">$2<\/span>.6\u00a0million of pre-tax net insurance recoveries and gains resulting from the <span class=\"xn-location\">Saginaw<\/span> fire. After considering non-recurring items, adjusted net income was <span class=\"xn-money\">$5<\/span>.6\u00a0million, or <span class=\"xn-money\">$0.57<\/span> per diluted share, in the fourth quarter of 2020, compared to <span class=\"xn-money\">$10<\/span>.2\u00a0million, or <span class=\"xn-money\">$1.04<\/span> per diluted share, in the fourth quarter of 2019. See the Company&#8217;s &#8220;Reconciliation of Non-GAAP Financial Measures&#8221; in the table below.<\/p>\n<p>Backlog represents the balance of remaining performance obligations under signed contracts for water infrastructure steel pipe products for which revenue is recognized over time. Backlog was approximately\u00a0$167\u00a0million as of December\u00a031, 2020 compared to $143\u00a0million as of September\u00a030, 2020 and $199\u00a0million as of December\u00a031, 2019. The Company also has projects for which it has been notified that it is the successful bidder, but a binding agreement has not been executed (&#8220;confirmed orders&#8221;). Backlog including confirmed orders was $221\u00a0million as of December\u00a031, 2020 compared to $231\u00a0million as of September\u00a030, 2020 and $258\u00a0million as of December\u00a031, 2019.<\/p>\n<p>\n        <b>Full Year 2020 Results<\/b>\n      <\/p>\n<p>Net sales increased 2.4% to <span class=\"xn-money\">$285<\/span>.9\u00a0million in 2020 from <span class=\"xn-money\">$279<\/span>.3\u00a0million in 2019 as the <span class=\"xn-money\">$44<\/span>.2\u00a0million contribution from the acquired Geneva operations was nearly entirely offset by decreased sales in the legacy steel pipe business. Sales of steel pipe declined due to a 28% reduction in production volume, which was partially offset by a 20% increase in selling prices. Additionally, the pandemic-related shut-down of the Company&#8217;s San Luis R\u00edo <span class=\"xn-location\">Colorado<\/span>, <span class=\"xn-location\">Mexico<\/span> facility negatively impacted sales in the second quarter of 2020.<\/p>\n<p>Gross profit increased 7.1% to <span class=\"xn-money\">$50<\/span>.5\u00a0million, or 17.7% of net sales, in 2020 from <span class=\"xn-money\">$47<\/span>.2\u00a0million, or 16.9% of net sales in 2019. The increase in gross profit was due to the margin contribution from Geneva and improved product pricing in the Company&#8217;s legacy steel pipe business, partially offset by lower production volume for steel pipe and amortization and other acquisition-related accounting adjustments resulting from the purchase accounting for Geneva. In addition, as a result of the fire at the Company&#8217;s <span class=\"xn-location\">Saginaw<\/span> facility, <span class=\"xn-money\">$1<\/span>.4\u00a0million of business interruption insurance recovery was recorded in 2020, compared to <span class=\"xn-money\">$1<\/span>.6\u00a0million of incremental production costs in 2019.<\/p>\n<p>Net income was <span class=\"xn-money\">$19<\/span>.1\u00a0million, or <span class=\"xn-money\">$1.93<\/span> per diluted share, in 2020 compared to <span class=\"xn-money\">$27<\/span>.9\u00a0million, or <span class=\"xn-money\">$2.85<\/span> per diluted share, in 2019. Net income in 2020 included increased selling, general, and administrative expenses of <span class=\"xn-money\">$6<\/span>.5\u00a0million primarily due to the addition of Geneva and higher compensation-related expense. Net income in 2020 included <span class=\"xn-money\">$2<\/span>.6\u00a0million of pre-tax acquisition-related transaction costs, <span class=\"xn-money\">$2<\/span>.4\u00a0million of pre-tax net insurance recoveries and gains resulting from the <span class=\"xn-location\">Saginaw<\/span> fire, and <span class=\"xn-money\">$2<\/span>.2\u00a0million of pre-tax amortization and other acquisition-related accounting adjustments resulting from the purchase accounting for Geneva. This compares to net income in 2019 which included <span class=\"xn-money\">$0<\/span>.6\u00a0million of pre-tax acquisition-related transaction costs and <span class=\"xn-money\">$2<\/span>.3\u00a0million related to a favorable legal settlement.\u00a0After considering non-recurring items, adjusted net income was <span class=\"xn-money\">$20<\/span>.9\u00a0million, or <span class=\"xn-money\">$2.12<\/span> per diluted share, in 2020, compared to <span class=\"xn-money\">$26<\/span>.6\u00a0million, or <span class=\"xn-money\">$2.72<\/span> per diluted share, in 2019. See the Company&#8217;s &#8220;Reconciliation of Non-GAAP Financial Measures&#8221; in the table below.<\/p>\n<p>\n        <b>Management Commentary<\/b>\n      <\/p>\n<p>&#8220;Despite 2020 being extremely challenging due to the many difficulties created by COVID-19, we were able to put together a solid year,&#8221; said <span class=\"xn-person\">Scott Montross<\/span>, President and CEO of the Company. &#8220;Our steel pressure pipe market was affected by bidding delays, and as a result it was smaller than the near record year we had in 2019. However, our strategy to grow in the precast concrete market that started with the acquisition of <span class=\"xn-person\">Geneva Pipe<\/span> and Precast Company helped offset some of the decline in our legacy business. As we expected, fourth quarter revenues and gross margins were down sequentially as pandemic-related delays pushed project bidding into 2021 and the precast concrete business was in the seasonally slow time of the year. Our steel pressure pipe backlog moderated down to $221\u00a0million, which is still very high by historical standards and represents the tenth straight quarter in excess of $200\u00a0million.&#8221;<\/p>\n<p>Mr. Montross continued, &#8220;We expect the first quarter to be challenging due to volatility and delivery disruptions in the steel market, extreme weather conditions in various parts of the country, as well as the period specific effects of bidding delays in the steel pressure pipe business. However, we are currently seeing a strong 2021 bidding calendar for the steel pressure pipe business as well as a precast concrete order book that is strong even during the seasonally slow time of the year. As a result, we expect market conditions to stabilize as we move through the early part of 2021.&#8221;<\/p>\n<p>\n        <b>Balance Sheet Details<\/b>\n      <\/p>\n<p>Total cash and cash equivalents were <span class=\"xn-money\">$37<\/span>.9\u00a0million as of December\u00a031, 2020, up from <span class=\"xn-money\">$30<\/span>.4\u00a0million as of September\u00a030, 2020 primarily due to increased operating cash flows.<\/p>\n<p>As of December\u00a031, 2020, the Company had <span class=\"xn-money\">$13<\/span>.8\u00a0million of outstanding term loan borrowings and no outstanding revolving loan borrowings, with additional revolving loan borrowing capacity of approximately $53\u00a0million.<\/p>\n<p>\n        <b>Conference Call Details<\/b>\n      <\/p>\n<p>A conference call and simultaneous webcast to discuss the Company&#8217;s fourth quarter and full year 2020 financial results will be held on Thursday, March\u00a04, 2021 at 7:00\u00a0a.m.\u00a0PT. The call will be broadcast live over the Internet hosted on the Investor Relations section of the Company&#8217;s website at <a target=\"_blank\" href=\"https:\/\/c212.net\/c\/link\/?t=0&amp;l=en&amp;o=3085748-1&amp;h=2436684699&amp;u=https%3A%2F%2Finvestor.nwpipe.com%2F&amp;a=investor.nwpipe.com\" rel=\"nofollow noopener noreferrer\">investor.nwpipe.com<\/a> 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 one hour after the event and will remain available until Thursday, March\u00a018, 2021 by dialing 1\u2013877\u2013344\u20137529 in the U.S. or 1\u2013412\u2013317\u20130088 internationally and entering the replay access code: 10151606.<\/p>\n<p>\n        <b>About Northwest Pipe Company<\/b>\n      <\/p>\n<p>Founded in 1966, Northwest Pipe Company is a leading manufacturer for water related infrastructure products. In addition to being the largest manufacturer of engineered steel water pipeline systems in <span class=\"xn-location\">North America<\/span>, the Company produces high-quality precast and reinforced concrete products, Permalok\u00ae steel casing pipe, bar-wrapped concrete cylinder pipe, as well as linings, coatings, joints, and one of the largest offerings of fittings and specialized components. Northwest Pipe Company provides solution-based products for a wide range of markets including water transmission and infrastructure, water and wastewater plant piping, structural stormwater and sewer systems, trenchless technology, and piping rehabilitation. Strategically positioned to meet growing water and wastewater infrastructure needs, the Company is headquartered in <span class=\"xn-location\">Vancouver, Washington<\/span>, and has manufacturing facilities across <span class=\"xn-location\">North America<\/span>.<\/p>\n<p>\n        <b>Forward-Looking Statements<\/b>\n      <\/p>\n<p>Statements in this press release by <span class=\"xn-person\">Scott Montross<\/span> are &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995 and Section\u00a021E 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 Geneva 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, 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\u00a010\u2013K for the year ended December\u00a031, 2020 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>\n<p>\n        <b>Non-GAAP Financial Measures<\/b>\n      <\/p>\n<p>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 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>\n<p>For more information, visit <a target=\"_blank\" href=\"https:\/\/c212.net\/c\/link\/?t=0&amp;l=en&amp;o=3085748-1&amp;h=440662305&amp;u=http%3A%2F%2Fwww.nwpipe.com%2F&amp;a=www.nwpipe.com\" rel=\"nofollow noopener noreferrer\">www.nwpipe.com<\/a>. <\/p>\n<p>\n        <b>Contact:<br \/><\/b><br \/>\n        <span class=\"xn-person\">Aaron Wilkins<\/span><br \/>\n        <br \/>Chief Financial Officer<br \/>Northwest Pipe Company<br \/>(360)\u00a0397-6294 \u2022 <a target=\"_blank\" href=\"mailto:investors@nwpipe.com\" rel=\"nofollow noopener noreferrer\">investors@nwpipe.com<\/a><\/p>\n<p>Or Addo Investor Relations<br \/>(310)\u00a0829-5400<\/p>\n<p>\u00a0<\/p>\n<div>\n<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"prnbcc\">\n<tr>\n<td colspan=\"12\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"12\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"12\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(Unaudited)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"12\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(In thousands, except per share amounts)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td colspan=\"5\" nowrap=\"nowrap\" class=\"prngen4\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>\u00a0Three Months Ended December 31,\u00a0<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td colspan=\"5\" class=\"prngen4\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>\u00a0Year Ended December 31,\u00a0<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen5\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2020<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen6\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen5\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2019<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen6\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen5\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2020<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen6\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen5\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2019<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Net sales\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">69,381<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">72,245<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">285,907<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">279,317<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Cost of sales\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen8\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">57,018<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen8\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">55,325<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">235,388<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">232,133<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0 Gross profit\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">12,363<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">16,920<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">50,519<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">47,184<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Selling, general, and administrative expense\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">5,769<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">4,643<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">24,954<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">18,495<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prnvab prntal prnpl14 prnpr6\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Operating income\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">6,594<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">12,277<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">25,565<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">28,689<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Other income\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">138<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1,407<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">953<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">4,383<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Interest income\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">10<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">49<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">40<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Interest expense\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(214)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(107)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(933)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(472)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Income before income taxes\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">6,518<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">13,587<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">25,634<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen9\">\n              \n            <\/td>\n<td class=\"prngen9\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">32,640<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Income tax expense\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1,297<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1,571<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">6,584<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">4,738<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Net income\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">5,221<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">12,016<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">19,050<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">27,902<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Net income per share:\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Basic\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">0.54<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1.23<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1.95<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">2.86<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Diluted\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prnsbtbl prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">0.53<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen15\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1.22<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen15\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen15\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1.93<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen15\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen15\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">2.85<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0Shares used in per share calculations:\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Basic\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">9,805<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">9,747<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">9,788<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">9,741<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Diluted\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen14\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">9,902<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">9,816<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">9,873<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen14\">\n              \n            <\/td>\n<td class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">9,779<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<\/table><\/div>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<div>\n<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"prnbcc\">\n<tr>\n<td colspan=\"8\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"8\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>CONDENSED CONSOLIDATED BALANCE SHEETS<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"8\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(Unaudited)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"8\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(In thousands)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"5\" class=\"prngen4\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>December 31,<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen4\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2020<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen4\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2019<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Assets<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Current assets:<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Cash and cash equivalents\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">37,927<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">31,014<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Trade and other receivables, net<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">42,680<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">38,026<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Contract assets<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">76,985<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">91,186<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Inventories\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">29,177<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">30,654<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Prepaid expenses and other\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">5,194<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">4,159<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0 Total current assets\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen17\">\n              \n            <\/td>\n<td class=\"prngen17\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">191,963<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen17\">\n              \n            <\/td>\n<td class=\"prngen17\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">195,039<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Property and equipment, net<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">110,184<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">99,631<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Operating lease right-of-use-assets<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">30,813<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">7,683<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Goodwill<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">22,985<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Intangible assets, net<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">10,518<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1,231<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Other assets\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">6,552<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">6,661<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0 Total assets\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen18\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen18\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">373,015<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen18\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen18\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">310,245<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Liabilities and Stockholders&#8217; Equity<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Current liabilities:<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen7\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Current portion of long-term debt<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">7,701<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Accounts payable\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">12,993<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">15,493<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Accrued liabilities\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">16,814<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">12,150<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Contract liabilities<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">6,189<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">12,281<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Current portion of operating lease liabilities<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">2,204<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1,642<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0 Total current liabilities\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen17\">\n              \n            <\/td>\n<td class=\"prngen17\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">45,901<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen17\">\n              \n            <\/td>\n<td class=\"prngen17\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">41,566<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Long-term debt, less current portion<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">5,888<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Operating lease liabilities, less current portion<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">27,911<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">6,247<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Deferred income taxes<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">12,481<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">4,265<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Other long-term liabilities\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen19\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">11,208<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen19\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">10,009<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0 Total liabilities\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prnsbtbl prngen12\">\n              \n            <\/td>\n<td class=\"prngen17\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">103,389<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen20\">\n              \n            <\/td>\n<td class=\"prngen17\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">62,087<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td colspan=\"2\" class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">Stockholders&#8217; equity<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">269,626<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">248,158<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen16\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0 Total liabilities and stockholders&#8217; equity\u00a0<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen18\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen18\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">373,015<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen18\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen18\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">310,245<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<td class=\"prngen12\">\n              \n            <\/td>\n<\/tr>\n<\/table><\/div>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<div>\n<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"prnbcc\">\n<tr>\n<td colspan=\"9\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>NORTHWEST PIPE COMPANY AND SUBSIDIARIES<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"9\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>RECONCILIATION OF NON-GAAP FINANCIAL MEASURES<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"9\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(Unaudited)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"9\" class=\"prngen2\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(In thousands, except per share amounts)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td colspan=\"3\" class=\"prngen4\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Three Months Ended December 31,<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td colspan=\"3\" class=\"prngen4\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Year Ended December 31,<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen21\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2020<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen6\">\n              \n            <\/td>\n<td class=\"prngen21\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2019<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen6\">\n              \n            <\/td>\n<td class=\"prngen22\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2020<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen6\">\n              \n            <\/td>\n<td class=\"prngen22\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2019<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0 Net income, as reported<\/span>\n              <\/p>\n<\/td>\n<td nowrap=\"nowrap\" class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a05,221<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a012,016<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a019,050<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a027,902<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0 Adjustments for non-recurring items:<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" nowrap=\"nowrap\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Acquisition-related transaction costs<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">114<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">2,624<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">629<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" nowrap=\"nowrap\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Saginaw fire incremental production costs (insurance recoveries), net<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(1,363)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(1,399)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1,580<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Saginaw fire gain on property and equipment replacement<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(1,210)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(951)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(1,641)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Amortization of acquired intangibles<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">519<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">1,902<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Acquisition-related inventory charges<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">266<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Legal settlement other income<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(2,284)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Estimated tax impact of non-recurring items<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen12\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(123)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">623<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen19\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">(604)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen8\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">429<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0 Adjusted net income<\/span>\n              <\/p>\n<\/td>\n<td nowrap=\"nowrap\" class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a05,617<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen13\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a010,180<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen23\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a020,888<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen23\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a026,615<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0 Diluted income per share, as reported<\/span>\n              <\/p>\n<\/td>\n<td nowrap=\"nowrap\" class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a00.53<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01.22<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01.93<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02.85<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" class=\"prngen10\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">\u00a0\u00a0 Adjusted diluted income per share<\/span>\n              <\/p>\n<\/td>\n<td nowrap=\"nowrap\" class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a00.57<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01.04<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02.12<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td nowrap=\"nowrap\" class=\"prngen14\">\n<p class=\"prnews_p\">\n                <span class=\"prnews_span\">$ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02.72<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<td class=\"prngen3\">\n              \n            <\/td>\n<\/tr>\n<\/table><\/div>\n<p \/>\n<div class=\"PRN_ImbeddedAssetReference\" id=\"DivAssetPlaceHolder2\"><\/div>\n<p id=\"PURL\">\n        <img loading=\"lazy\" decoding=\"async\" title=\"Cision\" width=\"12\" height=\"12\" alt=\"Cision\" src=\"https:\/\/c212.net\/c\/img\/favicon.png?sn=SF98123&amp;sd=2021-03-03\" \/> View original content to download multimedia:<a id=\"PRNURL\" rel=\"nofollow\" href=\"http:\/\/www.prnewswire.com\/news-releases\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results-301240015.html\">http:\/\/www.prnewswire.com\/news-releases\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results-301240015.html<\/a><\/p>\n<p>SOURCE  Northwest Pipe Company<\/p>\n<\/p><\/div>\n<p>    <img decoding=\"async\" alt=\"\" src=\"https:\/\/rt.prnewswire.com\/rt.gif?NewsItemId=SF98123&amp;Transmission_Id=202103031630PR_NEWS_USPR_____SF98123&amp;DateId=20210303\" style=\"border:0px;width:1px;height:1px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8211; Annual net sales of $285.9 million increased 2.4% year-over-year &#8211; Annual gross profit of $50.5 million increased 7.1% year-over-year &#8211; Strong backlog of $167 million; $221 million including confirmed orders representing the tenth consecutive quarter over $200 million &#8211; Annual net income of $1.93 per diluted share; adjusted net income of $2.12 per diluted share &#8211; Strong operating cash flows drove increase in cash and cash equivalents to $37.9 million PR Newswire VANCOUVER, Wash., March 3, 2021 \/PRNewswire\/ &#8212; Northwest Pipe Company (NASDAQ: NWPX), an industry leader of engineered pipeline systems for water infrastructure, today announced its financial results for the fourth quarter and full year ended December\u00a031, 2020. The Company will broadcast its fourth quarter and full year &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-450107","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results - Market Newsdesk<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results - Market Newsdesk\" \/>\n<meta property=\"og:description\" content=\"&#8211; Annual net sales of $285.9 million increased 2.4% year-over-year &#8211; Annual gross profit of $50.5 million increased 7.1% year-over-year &#8211; Strong backlog of $167 million; $221 million including confirmed orders representing the tenth consecutive quarter over $200 million &#8211; Annual net income of $1.93 per diluted share; adjusted net income of $2.12 per diluted share &#8211; Strong operating cash flows drove increase in cash and cash equivalents to $37.9 million PR Newswire VANCOUVER, Wash., March 3, 2021 \/PRNewswire\/ &#8212; Northwest Pipe Company (NASDAQ: NWPX), an industry leader of engineered pipeline systems for water infrastructure, today announced its financial results for the fourth quarter and full year ended December\u00a031, 2020. The Company will broadcast its fourth quarter and full year &hellip; Continue reading &quot;Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/\" \/>\n<meta property=\"og:site_name\" content=\"Market Newsdesk\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-03T21:33:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mma.prnewswire.com\/media\/1162112\/Northwest_Pipe_Company_Logo.jpg\" \/>\n<meta name=\"author\" content=\"Newsdesk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Newsdesk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/\"},\"author\":{\"name\":\"Newsdesk\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"headline\":\"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results\",\"datePublished\":\"2021-03-03T21:33:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/\"},\"wordCount\":2051,\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mma.prnewswire.com\\\/media\\\/1162112\\\/Northwest_Pipe_Company_Logo.jpg\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/\",\"name\":\"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results - Market Newsdesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mma.prnewswire.com\\\/media\\\/1162112\\\/Northwest_Pipe_Company_Logo.jpg\",\"datePublished\":\"2021-03-03T21:33:24+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mma.prnewswire.com\\\/media\\\/1162112\\\/Northwest_Pipe_Company_Logo.jpg\",\"contentUrl\":\"https:\\\/\\\/mma.prnewswire.com\\\/media\\\/1162112\\\/Northwest_Pipe_Company_Logo.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\",\"name\":\"Market Newsdesk\",\"description\":\"Latest Business News in Real Time\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\",\"name\":\"Newsdesk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"caption\":\"Newsdesk\"},\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/author\\\/newsdesk\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results - Market Newsdesk","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/","og_locale":"en_US","og_type":"article","og_title":"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results - Market Newsdesk","og_description":"&#8211; Annual net sales of $285.9 million increased 2.4% year-over-year &#8211; Annual gross profit of $50.5 million increased 7.1% year-over-year &#8211; Strong backlog of $167 million; $221 million including confirmed orders representing the tenth consecutive quarter over $200 million &#8211; Annual net income of $1.93 per diluted share; adjusted net income of $2.12 per diluted share &#8211; Strong operating cash flows drove increase in cash and cash equivalents to $37.9 million PR Newswire VANCOUVER, Wash., March 3, 2021 \/PRNewswire\/ &#8212; Northwest Pipe Company (NASDAQ: NWPX), an industry leader of engineered pipeline systems for water infrastructure, today announced its financial results for the fourth quarter and full year ended December\u00a031, 2020. The Company will broadcast its fourth quarter and full year &hellip; Continue reading \"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results\"","og_url":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/","og_site_name":"Market Newsdesk","article_published_time":"2021-03-03T21:33:24+00:00","og_image":[{"url":"https:\/\/mma.prnewswire.com\/media\/1162112\/Northwest_Pipe_Company_Logo.jpg","type":"","width":"","height":""}],"author":"Newsdesk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Newsdesk","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/#article","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/"},"author":{"name":"Newsdesk","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"headline":"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results","datePublished":"2021-03-03T21:33:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/"},"wordCount":2051,"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/mma.prnewswire.com\/media\/1162112\/Northwest_Pipe_Company_Logo.jpg","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/","url":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/","name":"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results - Market Newsdesk","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/#primaryimage"},"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/mma.prnewswire.com\/media\/1162112\/Northwest_Pipe_Company_Logo.jpg","datePublished":"2021-03-03T21:33:24+00:00","author":{"@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"breadcrumb":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/#primaryimage","url":"https:\/\/mma.prnewswire.com\/media\/1162112\/Northwest_Pipe_Company_Logo.jpg","contentUrl":"https:\/\/mma.prnewswire.com\/media\/1162112\/Northwest_Pipe_Company_Logo.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/northwest-pipe-company-announces-fourth-quarter-and-full-year-2020-financial-results\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marketnewsdesk.com\/"},{"@type":"ListItem","position":2,"name":"Northwest Pipe Company Announces Fourth Quarter and Full Year 2020 Financial Results"}]},{"@type":"WebSite","@id":"https:\/\/www.marketnewsdesk.com\/#website","url":"https:\/\/www.marketnewsdesk.com\/","name":"Market Newsdesk","description":"Latest Business News in Real Time","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.marketnewsdesk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979","name":"Newsdesk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","caption":"Newsdesk"},"url":"https:\/\/www.marketnewsdesk.com\/index.php\/author\/newsdesk\/"}]}},"_links":{"self":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/450107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/comments?post=450107"}],"version-history":[{"count":0,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/450107\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/media?parent=450107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/categories?post=450107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/tags?post=450107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}