XML 39 R28.htm IDEA: XBRL DOCUMENT
v3.25.3

Note 9 - Revenue (Tables) | 9 Months Ended
--- | ---
Sep. 30, 2025
Notes Tables |
Disaggregation of Revenue [Table Text Block] |
|  | Three Months Ended September 30, |  |  | Nine Months Ended September 30, |
|  | 2025 |  |  | 2024 |  |  | 2025 |  |  | 2024 |
Over time |  | $ | 103,866 |  |  | $ | 85,924 |  |  | $ | 266,900 |  |  | $ | 255,454 |
Point in time |  |  | 47,201 |  |  |  | 44,277 |  |  |  | 133,464 |  |  |  | 117,467 |
Net sales |  | $ | 151,067 |  |  | $ | 130,201 |  |  | $ | 400,364 |  |  | $ | 372,921 |
Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] |
|  | Contract Assets |  |  | Contract Liabilities |  |  | Net Contract Assets |
Nine Months Ended September 30, 2025 |  |  |  |  |  |  |  |  |  |  |  |
Balance, beginning of period |  | $ | 103,422 |  |  | $ | (11,197 | ) |  | $ | 92,225 |
Revenue recognized |  |  | 221,113 |  |  |  | 45,787 |  |  |  | 266,900 |
Billings |  |  | (228,701 | ) |  |  | (43,131 | ) |  |  | (271,832 | )
Other |  |  | 1,048 |  |  |  | 233 |  |  |  | 1,281 |
Balance, end of period |  | $ | 96,882 |  |  | $ | (8,308 | ) |  | $ | 88,574 |
Nine Months Ended September 30, 2024 |  |  |  |  |  |  |  |  |  |  |  |
Balance, beginning of period |  | $ | 120,516 |  |  | $ | (21,450 | ) |  | $ | 99,066 |
Revenue recognized |  |  | 220,632 |  |  |  | 34,822 |  |  |  | 255,454 |
Billings |  |  | (220,060 | ) |  |  | (42,333 | ) |  |  | (262,393 | )
Other |  |  | (105 | ) |  |  | 64 |  |  |  | (41 | )
Balance, end of period |  | $ | 120,983 |  |  | $ | (28,897 | ) |  | $ | 92,086 |

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
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