XML 85 R71.htm IDEA: XBRL DOCUMENT
v3.22.0.1

Note 13 - Commitments and Contingencies (Details Textual) $ in Millions | 1 Months Ended | 12 Months Ended |  |
--- | --- | --- | --- | ---
Jan. 31, 2017 USD ($) | Dec. 31, 2020 USD ($) | Dec. 31, 2019 USD ($) | Dec. 31, 2021 USD ($) | Jun. 30, 2014 USD ($)
Other Commitment, Amount Paid for Equipment Purchased Yet Not Received |  |  |  | $ 10.0 |
Letters of Credit Outstanding, Amount |  |  |  | $ 1.6 |
Fire [Member] |  |  |  |  |
Business Interruption, Incremental Production Costs, Net of Insurance Recovery |  | $ (1.4) | $ 1.6 |  |
Portland Harbor Natural Resources Trustee Council [Member] |  |  |  |  |
Loss Contingency, Accrual, Current |  |  |  |  | $ 0.4
Portland Harbor Superfund Site [Member] |  |  |  |  |
Number Of Potentially Responsible Parties | 150 |  |  |  |
Estimated Cost of EPA Selected Remedy | $ 1,000.0 |  |  |  |
Estimated Time to Complete Selected EPA Remedy (Year) | 13 years |  |  |  |
Lower Willamette Group [Member] |  |  |  |  |
Number Of Potentially Responsible Parties | 14 |  |  |  |

X
- Definition Represents the amount of incremental production costs due to business interruptions, net of business interruption insurance recovery. + References No definition available. + Details
Name: | nwpx_BusinessInterruptionIncrementalProductionCostsNetOfInsuranceRecovery
Namespace Prefix: | nwpx_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The estimated cost of the remedy selected by EPA. + References No definition available. + Details
Name: | nwpx_EstimatedCostOfEPASelectedRemedy
Namespace Prefix: | nwpx_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The estimated amount of time to complete the selected EPA remedy. + References No definition available. + Details
Name: | nwpx_EstimatedTimeToCompleteSelectedEPARemedy
Namespace Prefix: | nwpx_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of potentially responsible parties for Portland Harbor Superfund site. + References No definition available. + Details
Name: | nwpx_NumberOfPotentiallyResponsibleParties
Namespace Prefix: | nwpx_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of commitment of payment for equipment purchased but not received. + References No definition available. + Details
Name: | nwpx_OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived
Namespace Prefix: | nwpx_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The total amount of the contingent obligation under letters of credit outstanding as of the reporting date. + References No definition available. + Details
Name: | us-gaap_LettersOfCreditOutstandingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 450 -SubTopic 20 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349 + Details
Name: | us-gaap_LossContingencyAccrualCarryingValueCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_NoncatastrophicEventAxis=us-gaap_FireMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LossContingenciesByNatureOfContingencyAxis=nwpx_PortlandHarborNaturalreSourcesTrusteeCouncilMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_EnvironmentalRemediationSiteAxis=nwpx_PortlandHarborSuperfundSiteMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_CounterpartyNameAxis=nwpx_LowerWillametteGroupMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |