XML 53 R37.htm IDEA: XBRL DOCUMENT
v3.24.1.u1

Note 6 - Share-based Compensation (Details Textual) $ in Millions | 3 Months Ended
--- | ---
Mar. 31, 2024 USD ($) shares
Number Of Active Stock Incentive Plans | 1
Number Of Inactive Stock Incentive Plans | 1
Performance Shares [Member] |
Performance Share Award Target Level, Percentage | 100.00%
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number At Target Level Of Performance (in shares) | shares | 260,000
Performance Shares [Member] | Minimum [Member] |
Performance Awards Issued Multiplier | 0.00%
Performance Shares [Member] | Maximum [Member] |
Performance Awards Issued Multiplier | 200.00%
Restricted Stock Units and Performance Stock Awards [Member] |
Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount | $ | $ 6.9
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) | 2 years

X
- Definition The number of active stock incentive plans. + References No definition available. + Details
Name: | nwpx_NumberOfActiveStockIncentivePlans
Namespace Prefix: | nwpx_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of inactive stock incentive plans. + References No definition available. + Details
Name: | nwpx_NumberOfInactiveStockIncentivePlans
Namespace Prefix: | nwpx_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition The percentage of the performance awards issued multiplier. + References No definition available. + Details
Name: | nwpx_PerformanceAwardsIssuedMultiplier
Namespace Prefix: | nwpx_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the target level percentage for performance share awards. + References No definition available. + Details
Name: | nwpx_PerformanceShareAwardTargetLevelPercentage
Namespace Prefix: | nwpx_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition The number of non-vested equity-based payment instruments at a target level of performance, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date. + References No definition available. + Details
Name: | nwpx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance
Namespace Prefix: | nwpx_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=nwpx_RestrictedStockUnitsAndPerformanceStockAwardsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |