XML 51 R40.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Net Income Per Share (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2023
Earnings Per Share [Abstract] |
Summary of Basic and Diluted Net Income (Loss) Per Share | Basic and diluted net income per share was calculated as follows:
|  | Year Ended December 31, |
(in thousands, except share and per share amounts) |  | 2023 |  |  | 2022 |  |  | 2021 |
Basic net income per share |  | $ | 0.26 |  |  | $ | 0.43 |  |  | $ | 0.11 |
Diluted net income per share |  | $ | 0.26 |  |  | $ | 0.43 |  |  | $ | 0.11 |
Numerator: |  |  |  |  |  |  |  |  |
Net income |  |  | 37,293 |  |  |  | 64,604 |  |  |  | 16,051 |
Denominator: |  |  |  |  |  |  |  |  |
Weighted average number of shares outstanding - basic |  |  | 144,083,808 |  |  |  | 150,227,213 |  |  |  | 140,480,590 |
Add options and restricted stock units to purchase units |  |  | 2,142,288 |  |  |  | 1,579,927 |  |  |  | 1,206,794 |
Weighted average number of shares outstanding - diluted |  |  | 146,226,096 |  |  |  | 151,807,139 |  |  |  | 141,687,384 |

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