XML 84 R70.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Note 12 - Stockholders' Equity (Details Textual) - USD ($) $ / shares in Units, $ in Thousands | 12 Months Ended |  |  |  |  |  |
--- | --- | --- | --- | --- | --- | --- | ---
Dec. 31, 2023 | Dec. 01, 2023 | Nov. 02, 2023 | Dec. 31, 2022 | Sep. 22, 2022 | Sep. 02, 2022 | Dec. 31, 2021
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ 0.01 |  |  | $ 0.01 | $ 0.01 |  |
Stock Repurchase Program, Authorized Amount |  |  | $ 30,000 | $ 0 |  |  | $ 0
Rule 10b5-1 Trading Plan, Designated Amount |  | $ 10,000 |  |  |  |  |
Stock Repurchased and Retired During Period, Value | $ 835 |  |  |  |  |  |
Stock Repurchase Program, Remaining Authorized Repurchase Amount | $ 29,200 |  |  |  |  |  |
Share Repurchase Program [Member] |  |  |  |  |  |  |
Stock Repurchased and Retired During Period, Shares (in shares) | 29,000 |  |  |  |  |  |
Stock Repurchased and Retired During Period, Value | $ 800 |  |  |  |  |  |
At-the-Market Offering [Member] |  |  |  |  |  |  |
Equity Offering, Maximum Offering Amount |  |  |  |  |  | $ 50,000 |

X
- Definition Maximum value of company's equity authorized for issuance under equity offering. + References No definition available. + Details
Name: | nwpx_EquityOfferingMaximumOfferingAmount
Namespace Prefix: | nwpx_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The amount of stock designated for repurchase under the Company's Rule 10b5-1 trading plan. + References No definition available. + Details
Name: | nwpx_Rule10b51TradingPlanDesignatedAmount
Namespace Prefix: | nwpx_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Face amount or stated value per share of common stock. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_CommonStockParOrStatedValuePerShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of stock repurchase plan authorized. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramAuthorizedAmount1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount remaining of a stock repurchase plan authorized. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Number of shares that have been repurchased and retired during the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -SubTopic 10 -Topic 505 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(28)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 505 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_StockRepurchasedAndRetiredDuringPeriodShares
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -SubTopic 10 -Topic 505 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(28)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 505 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_StockRepurchasedAndRetiredDuringPeriodValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_ShareRepurchaseProgramAxis=nwpx_ShareRepurchaseProgramMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_SubsidiarySaleOfStockAxis=nwpx_AtthemarketOfferingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |