XML 37 R25.htm IDEA: XBRL DOCUMENT
v3.25.3

Note 2 - Income Per Share (Tables) | 9 Months Ended
--- | ---
Sep. 30, 2025
Notes Tables |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] |
(in thousands except per share data) |  | Three Months Ended |  |  | Nine Months Ended |
|  | September 30, |  |  | September 30, |
|  | 2025 |  |  | 2024 |  |  | 2025 |  |  | 2024 |
Numerators: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 6,264 |  |  | $ | 12,883 |  |  | $ | 22,667 |  |  | $ | 28,752 |
Income from discontinued operations |  |  | 2,829 |  |  |  | 150 |  |  |  | 2,829 |  |  |  | 450 |
Net income |  | $ | 9,093 |  |  | $ | 13,033 |  |  | $ | 25,496 |  |  | $ | 29,202 |
Denominator: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Denominator for basic income per share – weighted-average shares |  |  | 25,030 |  |  |  | 26,354 |  |  |  | 25,872 |  |  |  | 26,274 |
Effect of dilutive securities: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Equivalent shares issuable upon conversion of unvested restricted shares |  |  | 120 |  |  |  | 150 |  |  |  | 137 |  |  |  | 142 |
Equivalent shares issuable upon conversion of unvested employee stock options |  |  | 1,151 |  |  |  | 1,298 |  |  |  | 1,147 |  |  |  | 1,238 |
Denominator for diluted income per share adjusted weighted-average shares and assumed conversions |  |  | 26,301 |  |  |  | 27,802 |  |  |  | 27,156 |  |  |  | 27,654 |
Basic income per share(1): |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 0.25 |  |  | $ | 0.49 |  |  | $ | 0.88 |  |  | $ | 1.09 |
Income from discontinued operations |  |  | 0.11 |  |  |  | 0.01 |  |  |  | 0.11 |  |  |  | 0.02 |
Net income per share |  | $ | 0.36 |  |  | $ | 0.49 |  |  | $ | 0.99 |  |  | $ | 1.11 |
Diluted income per share: (1) |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 0.24 |  |  | $ | 0.46 |  |  | $ | 0.83 |  |  | $ | 1.04 |
Income from discontinued operations |  |  | 0.11 |  |  |  | 0.01 |  |  |  | 0.10 |  |  |  | 0.02 |
Net income per share |  | $ | 0.35 |  |  | $ | 0.47 |  |  | $ | 0.94 |  |  | $ | 1.06 |

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