XML 23 R8.htm IDEA: XBRL DOCUMENT
v3.25.1

Note 2 - Income (Loss) Per Share | 3 Months Ended
--- | ---
Mar. 31, 2025
Notes to Financial Statements |
Earnings Per Share [Text Block] | 2. Income (loss) per share Basic income (loss) per share is computed by dividing net income (loss) by the weighted average number of common shares outstanding, restricted stock units ("RSUs"), and restricted common stock that have vested but not been delivered during the period. Diluted income (loss) per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock and is calculated using the treasury stock method for stock options, RSUs, restricted stock, pre-funded warrants (see Note 7, Equity below), direct offering (see Note 7, Equity below), deferred common stock, and unvested shares. Stock equivalent shares are excluded from the calculation in loss periods, as their effects would be anti-dilutive. For the three months ended March 31, 2025 and 2024, basic and diluted loss per share were as follows:
|  | Three Months Ended March 31, |
|  | 2025 |  |  | 2024 |
Numerator: |  |  |  |  |  |  |  |
Net loss |  | $ | (8,269 | ) |  | $ | (6,276 | )
Denominator: |  |  |  |  |  |  |  |
Weighted average shares outstanding |  |  | 20,866,774 |  |  |  | 13,572,224 |
Weighted average restricted shares vested not delivered |  |  | 344,665 |  |  |  | 329,941 |
Total basic weighted average shares outstanding |  |  | 21,211,439 |  |  |  | 13,902,165 |
Dilutive effect of assumed conversion of restricted stock units |  |  | — |  |  |  | — |
Total diluted weighted average shares outstanding |  |  | 21,211,439 |  |  |  | 13,902,165 |
Basic and diluted loss per share: |  |  |  |  |  |  |  |
Basic |  | $ | (0.39 | ) |  | $ | (0.45 | )
Diluted |  | $ | (0.39 | ) |  | $ | (0.45 | )
Based on exercise prices compared to the average stock prices for the three months ended March 31, 2025 and 2024, certain stock equivalents, including RSUs and stock options, have been excluded from the diluted weighted average share calculations due to their anti-dilutive nature.
|  | Three Months Ended March 31, |
|  | 2025 |  |  | 2024 |
Restricted stock units |  |  | 638,241 |  |  |  | 449,673 |
Stock options |  |  | 331,667 |  |  |  | 302,330 |
Total anti-dilutive securities |  |  | 969,908 |  |  |  | 752,003 |

X
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
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