XML 24 R13.htm IDEA: XBRL DOCUMENT
v3.25.2

Earnings Per Share | 6 Months Ended
--- | ---
Jun. 30, 2025
Earnings Per Share [Abstract] |
Earnings Per Share | Earnings Per Share Basic earnings per share excludes dilution and is computed by dividing net income by the weighted average number of common shares outstanding for the period, excluding unvested restricted common stock. Diluted earnings per share reflects the potential reduction in earnings per share that could occur if securities or other contracts to issue common stock were exercised or converted into common stock under the treasury stock method. Such securities or other contracts include unvested restricted stock awards, unvested restricted stock units, and outstanding common stock options, to the extent dilutive. In periods for which we report a net loss, diluted weighted average common shares outstanding excludes all potential common stock equivalents as their impact on diluted net loss per share would be anti-dilutive. Earnings per share under the basic and diluted computations are as follows:
| Three Months Ended June 30, |  | Six Months Ended June 30,
| 2025 |  | 2024 |  | 2025 |  | 2024
Net income | $ | 19,430 |  |  | $ | 37,482 |  |  | $ | 43,966 |  |  | $ | 55,488 |
Weighted average common shares outstanding – basic | 17,320 |  |  | 17,887 |  |  | 17,569 |  |  | 18,042 |
Weighted average common stock equivalents | 452 |  |  | 567 |  |  | 568 |  |  | 699 |
Weighted average common shares outstanding – diluted | 17,772 |  |  | 18,454 |  |  | 18,137 |  |  | 18,741 |
Net income per basic share | $ | 1.12 |  |  | $ | 2.10 |  |  | $ | 2.50 |  |  | $ | 3.08 |
Net income per diluted share | $ | 1.09 |  |  | $ | 2.03 |  |  | $ | 2.42 |  |  | $ | 2.96 |
Less than 0.1 million shares related to unvested restricted stock and outstanding common stock options were excluded from the computation of the weighted average common stock equivalents presented above for both the three and six months ended June 30, 2025. For the three and six months ended June 30, 2024, 0.1 million shares and less than 0.1 million shares, respectively, were excluded from the computation of the weighted average common stock equivalents presented above. Share Repurchase Program In November 2020, our board of directors authorized a share repurchase program permitting us to repurchase up to $50 million of our common stock through December 31, 2021. The share repurchase program has been subsequently extended and increased, most recently in the first quarter of 2025. The current authorization extends the share repurchase program through December 31, 2026 with a repurchase amount of $700 million. The amount and timing of repurchases under the share repurchase program were and will continue to be determined by management and depend on a variety of factors, including the trading price of our common stock, capacity under our credit facility, general market and business conditions, and applicable legal requirements. During the three and six months ended June 30, 2025, we repurchased and retired 429,669 and 938,280 shares for $61.0 million and $133.9 million, respectively, which includes a $0.6 million and $0.7 million accrual for excise taxes on the net share repurchases, respectively. Additionally, in the first quarter of 2025, we settled the repurchase of 5,103 shares for $0.6 million which were accrued as of December 31, 2024. During the three and six months ended June 30, 2024, we repurchased and retired 376,493 and 1,001,191 shares for $34.4 million and $96.7 million, respectively, which includes a $0.3 million and $0.4 million accrual for excise taxes on the net share repurchases, respectively. Additionally, in the first quarter of 2024, we settled the repurchase of 10,000 shares for $1.0 million which were accrued as of December 31, 2023. As of June 30, 2025, $131.3 million remained available for share repurchases under our share repurchase program.

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