XML 36 R25.htm IDEA: XBRL DOCUMENT
v3.24.3

Earnings Per Share (Tables) | 9 Months Ended
--- | ---
Sep. 30, 2024
Earnings Per Share [Abstract] |
Reconciliation of Basic and Diluted Earnings Per Share | Earnings per share under the basic and diluted computations are as follows:
| Three Months Ended September 30, |  | Nine Months Ended September 30,
| 2024 |  | 2023 |  | 2024 |  | 2023
Net income | $ | 27,149 |  |  | $ | 21,516 |  |  | $ | 82,637 |  |  | $ | 59,647 |
Weighted average common shares outstanding – basic | 17,754 |  |  | 18,770 |  |  | 17,945 |  |  | 18,941 |
Weighted average common stock equivalents | 717 |  |  | 705 |  |  | 727 |  |  | 637 |
Weighted average common shares outstanding – diluted | 18,471 |  |  | 19,475 |  |  | 18,672 |  |  | 19,578 |
Net income per basic share | $ | 1.53 |  |  | $ | 1.15 |  |  | $ | 4.61 |  |  | $ | 3.15 |
Net income per diluted share | $ | 1.47 |  |  | $ | 1.10 |  |  | $ | 4.43 |  |  | $ | 3.05 |

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