XML 58 R41.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Note 14 - Share-based Compensation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Notes Tables |
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] |
|  | Year Ended December 31, |
|  | 2024 |  |  | 2023 |  |  | 2022 |
Cost of sales |  | $ | 1,511 |  |  | $ | 1,027 |  |  | $ | 1,320 |
Selling, general, and administrative expense |  |  | 3,550 |  |  |  | 2,645 |  |  |  | 2,382 |
Total |  | $ | 5,061 |  |  | $ | 3,672 |  |  | $ | 3,702 |
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, 2023 |  |  | 226,391 |  |  | $ | 29.66 |
RSUs and PSAs granted |  |  | 120,143 |  |  |  | 34.68 |
Unvested RSUs and PSAs canceled |  |  | (3,197 | ) |  |  | 29.15 |
RSUs and PSAs vested (2) |  |  | (103,266 | ) |  |  | 30.35 |
Unvested RSUs and PSAs as of December 31, 2024 |  |  | 240,071 |  |  |  | 31.89 |

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