XML 31 R18.htm IDEA: XBRL DOCUMENT
v3.25.2

EARNINGS (LOSS) PER COMMON SHARE | 6 Months Ended
--- | ---
Jun. 30, 2025
Earnings Per Share [Abstract] |
EARNINGS (LOSS) PER COMMON SHARE | EARNINGS (LOSS) PER COMMON SHARE Basic earnings (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding during the period. Diluted earnings (loss) per common share is computed by dividing net income (loss) by the weighted-average number of common shares outstanding during the period, adjusted for the potential dilutive effect of stock options, unvested restricted stock units, and other convertible securities. The calculation includes the effect of dilutive securities only when their inclusion would not be anti-dilutive. For share-based awards, the Company uses the treasury stock method, which assumes proceeds from the assumed exercise or vesting are used to repurchase shares at the average market price during the period.
|  | Three Months Ended June 30, |  | Six Months Ended June 30,
|  | 2025 |  | 2024 |  | 2025 |  | 2024
Net income (loss) |  | $ | 1,205,068 |  |  | $ | (2,194,828) |  |  | $ | 1,062,268 |  |  | $ | (5,460,678) |
Weighted average shares outstanding - basic |  | 16,947,527 |  |  | 16,437,460 |  |  | 16,980,960 |  |  | 16,470,467 |
Basic income (loss) per common share |  | $ | 0.07 |  |  | $ | (0.13) |  |  | $ | 0.06 |  |  | $ | (0.33) |
Weighted average shares outstanding - basic |  | 16,947,527 |  |  | 16,437,460 |  |  | 16,980,960 |  |  | 16,470,467 |
Plus: |  |  |  |  |  |  |  |
“In-the-money” stock options |  | 313 |  |  | — |  |  | 313 |  |  | — |
“In-the-money” restricted stock units |  | 869,616 |  |  | — |  |  | 846,355 |  |  | — |
Less: |  |  |  |  |  |  |  |
Shares assumed repurchased under treasury stock method |  | (78) |  |  | — |  |  | (76) |  |  | — |
Weighted average shares outstanding - diluted |  | 17,817,378 |  |  | 16,437,460 |  |  | 17,827,552 |  |  | 16,470,467 |
Diluted income (loss) per common share |  | $ | 0.07 |  |  | $ | (0.13) |  |  | $ | 0.06 |  |  | $ | (0.33) |
The Company excluded the following weighted average items from the above computation of diluted loss per common share, as their effect would be anti-dilutive:
|  | Three Months Ended June 30, |  | Six Months Ended June 30,
|  | 2025 |  | 2024 |  | 2025 |  | 2024
Stock options |  | 23,674 |  |  | 342,779 |  |  | 23,987 |  |  | 342,779 |
Restricted stock units |  | 429,100 |  |  | 1,446,169 |  |  | 429,100 |  |  | 1,401,721 |
Total excluded shares |  | 452,774 |  |  | 1,788,948 |  |  | 453,087 |  |  | 1,744,500 |

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