XML 29 R21.htm IDEA: XBRL DOCUMENT
v3.25.1

Earnings per share (Tables) | 3 Months Ended
--- | ---
Mar. 31, 2025
Earnings Per Share [Abstract] |
Computations for Basic and Diluted Earnings Per Share | The computations for basic and diluted earnings per share are as follows:
|  | Three Months Ended |
|  | March 31, |
|  | 2025 |  |  | 2024 |
Net income |  | $ | 33,416 |  |  | $ | 21,024 |
Weighted-average common shares outstanding — basic |  |  | 67,376 |  |  |  | 66,729 |
Effect of stock options and restricted stock units |  |  | 1,023 |  |  |  | 765 |
Weighted-average common shares outstanding — diluted |  |  | 68,399 |  |  |  | 67,494 |
Basic earnings |  | $ | 0.50 |  |  | $ | 0.32 |
Diluted earnings |  | $ | 0.49 |  |  | $ | 0.31 |

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