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

Net Income per Share | 9 Months Ended
--- | ---
Sep. 30, 2025
Earnings Per Share [Abstract] |
Net Income per Share | Net Income per Share The following is a reconciliation of the numerator and denominator of basic and diluted net income per common share for the periods indicated:
| Three Months Ended September 30, |  | Nine Months Ended September 30,
| 2025 |  | 2024 |  | 2025 |  | 2024
Numerator |  |  |  |  |  |  |
Net income | $ | 16,491 |  |  | $ | 13,112 |  |  | $ | 48,240 |  |  | $ | 40,597 |
Allocation of earnings to participating securities | (169) |  |  | (132) |  |  | (495) |  |  | (410) |
Numerator for basic and diluted EPS - net income available to common stockholders | $ | 16,322 |  |  | $ | 12,980 |  |  | $ | 47,745 |  |  | $ | 40,187 |
Denominator |  |  |  |  |  |  |
Weighted-average common shares outstanding - basic | 16,998,549 |  |  | 16,931,793 |  |  | 17,005,206 |  |  | 16,891,619 |
Dilutive effect of assumed exercise of stock options | 131,481 |  |  | 96,031 |  |  | 112,399 |  |  | 46,709 |
Weighted-average common shares outstanding - diluted | 17,130,030 |  |  | 17,027,824 |  |  | 17,117,605 |  |  | 16,938,328 |
Net income per share - basic | $ | 0.96 |  |  | $ | 0.77 |  |  | $ | 2.81 |  |  | $ | 2.38 |
Net income per share - diluted | $ | 0.95 |  |  | $ | 0.76 |  |  | $ | 2.79 |  |  | $ | 2.37 |
Potential dilutive shares are excluded from the computation of earnings per share if their effect is anti-dilutive. There were 45,450 stock options that were anti-dilutive as of September 30, 2024. No stock options were anti-dilutive as of September 30, 2025.

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 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