XML 30 R19.htm IDEA: XBRL DOCUMENT
v3.25.3

Note 11 - Net Income Per Share | 9 Months Ended
--- | ---
Sep. 30, 2025
Notes to Financial Statements |
Earnings Per Share [Text Block] |
11. | Net Income per Share
Basic net income per share is computed by dividing net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all dilutive potential shares of common stock, including RSUs and PSAs, assumed to be outstanding during the period using the treasury stock method. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive. Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share and footnoted amounts):
|  | 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
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/260/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration