XML 40 R29.htm IDEA: XBRL DOCUMENT
v3.25.3

Note 11 - Net Income Per Share (Tables) | 9 Months Ended
--- | ---
Sep. 30, 2025
Notes Tables |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] |
|  | Three Months Ended September 30, |  |  | Nine Months Ended September 30, |
|  | 2025 |  |  | 2024 |  |  | 2025 |  |  | 2024 |
Net income |  | $ | 13,505 |  |  | $ | 10,253 |  |  | $ | 26,532 |  |  | $ | 24,110 |
Basic weighted-average common shares outstanding |  |  | 9,678 |  |  |  | 9,919 |  |  |  | 9,830 |  |  |  | 9,915 |
Effect of potentially dilutive common shares |  |  | 135 |  |  |  | 136 |  |  |  | 136 |  |  |  | 125 |
Diluted weighted-average common shares outstanding |  |  | 9,813 |  |  |  | 10,055 |  |  |  | 9,966 |  |  |  | 10,040 |
Net income per common share: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Basic |  | $ | 1.40 |  |  | $ | 1.03 |  |  | $ | 2.70 |  |  | $ | 2.43 |
Diluted |  | $ | 1.38 |  |  | $ | 1.02 |  |  | $ | 2.66 |  |  | $ | 2.40 |

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