XML 102 R88.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Note 18 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2023 | Dec. 31, 2022
Foreign Exchange Forward [Member] |  |
Accumulated Other Comprehensive Income (Loss) Cumulative Change in Net Gain (Loss) from Cash Flow Hedge Effect, Tax | $ 12 | $ (33)
Interest Rate Swap [Member] |  |
Accumulated Other Comprehensive Income (Loss) Cumulative Change in Net Gain (Loss) from Cash Flow Hedge Effect, Tax | 79 | 213
Pension Plan [Member] |  |
Accumulated Other Comprehensive Income (Loss) Defined Benefit Pension and Other Postretirement Plans Tax Expense (Benefit) | $ 482 | $ 592

X
- Definition Tax expense (benefit) included in accumulated other comprehensive income for cash flow hedges. + References No definition available. + Details
Name: | nwpx_AccumulatedOtherComprehensiveIncomeLossCumulativeChangeInNetGainLossFromCashFlowHedgeEffectTax
Namespace Prefix: | nwpx_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Tax expense (benefit) included in accumulated other comprehensive income for defined benefit pension and other postretirement plans. + References No definition available. + Details
Name: | nwpx_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansTaxExpenseBenefit
Namespace Prefix: | nwpx_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |