XML 30 R20.htm IDEA: XBRL DOCUMENT
v3.25.2

Net Income per Common Share (Tables) | 6 Months Ended
--- | ---
Jun. 30, 2025
Earnings Per Share [Abstract] |
Schedule of Earnings Per Share, Basic and Diluted | The table below sets forth the computation of basic and diluted net income per share:
| Three Months Ended June 30, |  | Six Months Ended June 30,
(in thousands, except share and per share amounts) | 2025 |  | 2024 |  | 2025 |  | 2024
Net income | $ | 4,427 |  |  | $ | 4,540 |  |  | $ | 8,026 |  |  | $ | 9,808 |
Basic - weighted-average shares outstanding: | 23,900,390 |  | 25,313,036 |  | 24,018,119 |  | 25,473,937
Effect of dilutive securities: |  |  |  |  |  |  |
Employee stock options and other | 201,202 |  | 59,936 |  | 273,127 |  | 99,407
Diluted - weighted-average shares outstanding: | 24,101,592 |  | 25,372,972 |  | 24,291,246 |  | 25,573,344
Net income per share: |  |  |  |  |  |  |
Basic | $ | 0.19 |  |  | $ | 0.18 |  |  | $ | 0.33 |  |  | $ | 0.39 |
Diluted | $ | 0.18 |  |  | $ | 0.18 |  |  | $ | 0.33 |  |  | $ | 0.38 |

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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