XML 30 R17.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Net Income (Loss) Per Share | 12 Months Ended
--- | ---
Dec. 31, 2023
Earnings Per Share [Abstract] |
Net Income (Loss) Per Share | Note 8. Net Income (Loss) Per Share The following table sets forth the computation of basic and diluted net income (loss) per share of common stock attributable to common stockholders:
|  | Year Ended |
|  | December 31, |
|  | 2023 |  |  | 2022 |  |  | 2021 |
|  | (in thousands, except per-share data) |
Net income (loss) |  | $ | (17,679 | ) |  | $ | (59,546 | ) |  | $ | 17,721 |
Weighted average common shares outstanding — Basic |  |  | 17,135 |  |  |  | 16,450 |  |  |  | 15,915 |
Plus incremental shares from assumed conversions: |  |  |  |  |  |  |  |  |
Dilutive effect of restricted stock |  |  | — |  |  |  | — |  |  |  | 438 |
Dilutive effect of stock options |  |  | — |  |  |  | — |  |  |  | 1,348 |
Dilutive effect of warrants |  |  | — |  |  |  | — |  |  |  | 550 |
Weighted average common shares outstanding — Diluted |  |  | 17,135 |  |  |  | 16,450 |  |  |  | 18,251 |
Net income (loss) per share: |  |  |  |  |  |  |  |  |
Basic |  | $ | (1.03 | ) |  | $ | (3.62 | ) |  | $ | 1.11 |
Diluted |  | $ | (1.03 | ) |  | $ | (3.62 | ) |  | $ | 0.97 |
Incremental shares from stock options and restricted stock awards are computed by the treasury stock method. The weighted average shares listed below were not included in the computation of diluted earnings per share because to do so would have been anti-dilutive for the periods presented or were otherwise excluded under the treasury stock method. The treasury stock method calculates dilution assuming the exercise of all in-the-money options and vesting of restricted stock, reduced by the repurchase of shares with the proceeds from the assumed exercises, unrecognized compensation expense for outstanding awards and the estimated tax benefit of the assumed exercises.
|  | Year Ended |
|  | December 31, |
|  | 2023 |  |  | 2022 |  |  | 2021 |
| (in thousands) |
Stock options |  |  | 1,374 |  |  |  | 1,669 |  |  |  | 721 |
Unvested restricted stock awards |  |  | 1,404 |  |  |  | 1,449 |  |  |  | 294 |
Total |  |  | 2,778 |  |  |  | 3,118 |  |  |  | 1,015 |

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