XML 28 R17.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 The Company computes earnings per share using the treasury stock method. Under the treasury stock method, basic earnings per share are computed by dividing net income by the weighted average number of common shares outstanding during the period, and diluted earnings per share are computed by dividing net income by the weighted average number of common shares outstanding during the period plus all potentially dilutive common stock equivalents, except in cases where the effect of the common stock equivalent would be anti-dilutive. Net income and the weighted average number of common shares used to compute basic and diluted earnings per share were as follows:
|  | Three months ended June 30, |  | Six months ended June 30,
(in thousands, except per share data) |  | 2025 |  | 2024 |  | 2025 |  | 2024
Numerator: |  |  |  |  |  |  |  |
Net income (loss) |  | $ | 26,466 |  |  | $ | (15,277) |  |  | $ | 49,774 |  |  | $ | 3,662 |
Denominator: |  |  |  |  |  |  |  |
Weighted average common shares outstanding |  | 15,527 |  |  | 16,756 |  |  | 15,759 |  |  | 16,734 |
Weighted average dilutive securities |  | 48 |  | 53 |  | 54 |  | 86
Weighted average common shares outstanding, diluted |  | 15,575 |  |  | 16,809 |  |  | 15,813 |  |  | 16,820 |
Income (loss) per common share: |  |  |  |  |  |  |  |
Basic |  | $ | 1.70 |  |  | $ | (0.91) |  |  | $ | 3.16 |  |  | $ | 0.22 |
Diluted |  | $ | 1.70 |  |  | $ | (0.91) |  |  | $ | 3.15 |  |  | $ | 0.22 |
For the three and six months ended June 30, 2025 and 2024, certain common stock equivalents were excluded from the calculation of dilutive securities because their inclusion would have been anti-dilutive. The following table summarizes the shares of common stock underlying the Company’s unvested time-vested stock awards and performance awards that were excluded from the calculation of dilutive securities:
|  | Three months ended June 30, |  | Six months ended June 30,
(in thousands) |  | 2025 |  | 2024 |  | 2025 |  | 2024
Time-vested stock awards |  | 34 |  |  | 36 |  |  | — |  |  | 36 |
Performance awards |  | 25 |  |  | 30 |  |  | 30 |  |  | 30 |
Share Repurchases During the six months ended June 30, 2025, the Company repurchased 20,504 shares of stock, for approximately $2.7 million, from its employees to satisfy tax obligations on shares vested under the LTIP. During the six months ended June 30, 2024, the Company repurchased 36,397 shares of stock, for approximately $5.9 million, from its employees to satisfy tax obligations on shares vested under the LTIP. On February 26, 2025, the Company announced that its Board of Directors had approved a new $75.0 million share repurchase program (the "Repurchase Program"). The Repurchase Program will expire on September 5, 2025, or when the authorized funds are exhausted, whichever is earlier. During the six months ended June 30, 2025, the Company repurchased 639,207 shares of its common stock under the Repurchase Program, at a weighted-average price of $117.33 per share. As of June 30, 2025, the Company had exhausted substantially all of the funds available to repurchase shares of the Company’s common stock under the Repurchase Program. On July 30, 2025, the Company announced that its Board of Directors approved a new share repurchase program (the “New Repurchase Program”), which authorizes the Company to repurchase, in the aggregate, up to $75.0 million of its outstanding shares of common stock. The New Repurchase Program will expire on February 4, 2026, or when the authorized funds are exhausted, whichever is earlier.

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