XML 64 R50.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Earnings Per Share (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Earnings Per Share [Abstract] |
Schedule of Dilutive Effect of Stock Options RSUs and PSAs | The dilutive effect of stock options, RSUs, and performance shares for each period reported is summarized below:
|  | 2024 |  |  | 2023 |  |  | 2022 |
Net Income |  | $ | 110,170 |  |  | $ | 82,612 |  |  | $ | 64,243 |
Weighted-average number of basic shares outstanding during the period |  |  | 18,747 |  |  |  | 18,802 |  |  |  | 18,818 |
Dilutive effect of stock options, RSUs, and performance shares |  |  | 178 |  |  |  | 192 |  |  |  | 215 |
Weighted-average number of diluted shares outstanding during the period |  |  | 18,925 |  |  |  | 18,994 |  |  |  | 19,033 |
Basic earnings per share |  | $ | 5.88 |  |  | $ | 4.39 |  |  | $ | 3.41 |
Diluted earnings per share |  | $ | 5.82 |  |  | $ | 4.35 |  |  | $ | 3.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