XML 32 R21.htm IDEA: XBRL DOCUMENT
v3.25.3

Earnings per Share | 9 Months Ended
--- | ---
Sep. 30, 2025
Earnings Per Share [Abstract] |
Earnings per Share | Earnings per Share The following table reconciles the numerators and denominators of the basic and diluted earnings per share computation for the periods presented:
| Three months ended September 30, |  | Nine months ended September 30, |
| 2025 |  | 2024 |  | 2025 |  | 2024 |  |  |
Numerator for basic and diluted earnings per share: |  |  |  |  |  |  |  |  |  |
Net income | $ | 5,784 |  |  | $ | 5,014 |  |  | $ | 15,826 |  |  | $ | 14,362 |  |  |  |
Denominator for basic earnings per common share: |  |  |  |  |  |  |  |  |  |
Weighted average common shares outstanding - Basic | 12,544 |  |  | 12,427 |  |  | 12,529 |  |  | 12,404 |  |  |  |
Denominator for diluted earnings per common share: |  |  |  |  |  |  |  |  |  |
Weighted average common shares outstanding | 12,544 |  |  | 12,427 |  |  | 12,529 |  |  | 12,404 |  |  |  |
Dilutive effect of stock-based compensation awards | 141 |  |  | 99 |  |  | 150 |  |  | 107 |  |  |  |
Weighted average common shares outstanding - Diluted | 12,685 |  |  | 12,526 |  |  | 12,679 |  |  | 12,511 |  |  |  |
Earnings per common share: |  |  |  |  |  |  |  |  |  |
Basic | $ | 0.46 |  |  | $ | 0.40 |  |  | $ | 1.26 |  |  | $ | 1.16 |  |  |  |
Diluted | $ | 0.46 |  |  | $ | 0.40 |  |  | $ | 1.25 |  |  | $ | 1.15 |  |  |  |
The following table summarizes the actual number of stock-based compensation awards that were excluded from the determination of diluted earnings per share due to their anti-dilutive effect for the periods presented:
| Three months ended September 30, |  | Nine months ended September 30,
| 2025 |  | 2024 |  | 2025 |  | 2024
Stock options | 95,000 |  |  | 92,417 |  |  | 95,000 |  |  | 92,417 |
Restricted stock and RSUs | — |  |  | 5,750 |  |  | — |  |  | 18,635 |
PSUs | 43,154 |  |  | — |  |  | 43,154 |  |  | — |
| 138,154 |  |  | 98,167 |  |  | 138,154 |  |  | 111,052 |

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