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

Note 4 - Net Income Per Share (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Notes Tables |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] |
|  | Years Ended December 31, |
|  | 2024 |  |  | 2023 |
Net income (in thousands) |  | $ | 12,004 |  |  | $ | 8,772 |
Weighted average shares outstanding - basic |  |  | 16,008,015 |  |  |  | 15,968,199 |
Dilutive common stock equivalents |  |  | 496,369 |  |  |  | 191,109 |
Weighted average shares outstanding - diluted |  |  | 16,504,384 |  |  |  | 16,159,308 |
Net income per share: |  |  |  |  |  |  |  |
Basic |  | $ | 0.75 |  |  | $ | 0.55 |
Diluted |  | $ | 0.73 |  |  | $ | 0.54 |

X
- Definition Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
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