XML 54 R40.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Note 14 - Share-based Compensation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2023
Notes Tables |
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] |
|  | Year Ended December 31, |
|  | 2023 |  |  | 2022 |  |  | 2021 |
Cost of sales |  | $ | 1,027 |  |  | $ | 1,320 |  |  | $ | 1,003 |
Selling, general, and administrative expense |  |  | 2,645 |  |  |  | 2,382 |  |  |  | 2,213 |
Total |  | $ | 3,672 |  |  | $ | 3,702 |  |  | $ | 3,216 |
Schedule of Unvested Restricted Stock Units and Performance Share Awards Activity [Table Text Block] |
|  | Number of RSUs and PSAs (1) |  |  | Weighted- Average Grant Date Fair Value |
Unvested RSUs and PSAs as of December 31, 2022 |  |  | 200,924 |  |  | $ | 30.80 |
RSUs and PSAs granted |  |  | 134,498 |  |  |  | 28.41 |
Unvested RSUs and PSAs canceled |  |  | (13,589 | ) |  |  | 30.82 |
RSUs and PSAs vested (2) |  |  | (95,442 | ) |  |  | 30.12 |
Unvested RSUs and PSAs as of December 31, 2023 |  |  | 226,391 |  |  |  | 29.66 |

X
- Definition Tabular disclosure of the change in restricted stock units (RSUs) and performance share awards (PSAs). + References No definition available. + Details
Name: | nwpx_ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock
Namespace Prefix: | nwpx_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (h)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_TableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration