XML 38 R25.htm IDEA: XBRL DOCUMENT
v3.25.2

Note 2 - Income Per Share (Tables) | 6 Months Ended
--- | ---
Jun. 30, 2025
Notes Tables |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] |
(in thousands except per share data) |  | Three Months Ended |  |  | Six Months Ended |
|  | June 30, |  |  | June 30, |
|  | 2025 |  |  | 2024 |  |  | 2025 |  |  | 2024 |
Numerators: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 9,840 |  |  | $ | 12,044 |  |  | $ | 16,403 |  |  | $ | 15,868 |
Income from discontinued operations |  |  | - |  |  |  | 150 |  |  |  | - |  |  |  | 300 |
Net income |  | $ | 9,840 |  |  | $ | 12,194 |  |  | $ | 16,403 |  |  | $ | 16,168 |
Denominator: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Denominator for basic income per share – weighted-average shares |  |  | 26,041 |  |  |  | 26,292 |  |  |  | 26,295 |  |  |  | 26,234 |
Effect of dilutive securities: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Equivalent shares issuable upon conversion of unvested restricted shares |  |  | 111 |  |  |  | 129 |  |  |  | 122 |  |  |  | 142 |
Equivalent shares issuable upon conversion of unvested employee stock options |  |  | 1,076 |  |  |  | 1,241 |  |  |  | 1,147 |  |  |  | 1,228 |
Denominator for diluted income per share adjusted weighted-average shares and assumed conversions |  |  | 27,228 |  |  |  | 27,662 |  |  |  | 27,564 |  |  |  | 27,604 |
Basic income per share(1): |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 0.38 |  |  | $ | 0.46 |  |  | $ | 0.62 |  |  | $ | 0.60 |
Income from discontinued operations |  |  | - |  |  |  | 0.01 |  |  |  | - |  |  |  | 0.01 |
Net income per share |  | $ | 0.38 |  |  | $ | 0.46 |  |  | $ | 0.62 |  |  | $ | 0.62 |
Diluted income per share: (1) |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 0.36 |  |  | $ | 0.44 |  |  | $ | 0.60 |  |  | $ | 0.57 |
Income from discontinued operations |  |  | - |  |  |  | 0.01 |  |  |  | - |  |  |  | 0.01 |
Net income per share |  | $ | 0.36 |  |  | $ | 0.44 |  |  | $ | 0.60 |  |  | $ | 0.59 |

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