XML 201 R58.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stockholders' Equity - Stock Options and Warrants (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Stock Options, Shares    
Outstanding, beginning balance (in shares) 1,391,352  
Granted (in shares) 182,846  
Exercised (in shares) (82,500)  
Forfeited (in shares) (144,594)  
Expired (in shares) (24,603)  
Outstanding, ending balance (in shares) 1,322,501 1,391,352
Vested or expected to vest (in shares) 1,319,053  
Exercisable (in shares) 1,229,103  
Stock Options, Weighted Average Exercise Price    
Outstanding, beginning balance (in dollars per share) $ 10.83  
Granted (in dollars per share) 3.45  
Exercised (in dollars per share) 1.88  
Forfeited (in dollars per share) 3.63  
Expired (in dollars per share) 29.60  
Outstanding, ending balance (in dollars per share) 10.81 $ 10.83
Vested or expected to vest (in dollars per share) 10.83  
Exercisable (in dollars per share) $ 11.25  
Stock Options, Weighted Average Contractual Term and Intrinsic Value    
Options outstanding, weighted average remaining contractual term (in years) 6 years 21 days 7 years 10 days
Options vested or expected to vest, weighted average remaining contractual term (in years) 6 years 18 days  
Options exercisable, weighted average remaining contractual term (in years) 5 years 10 months 2 days  
Options outstanding, aggregate intrinsic value $ 164,100 $ 187,600
Options vested or expected to vest, aggregate intrinsic value 164,100  
Options exercisable, aggregate intrinsic value $ 159,900  
Warrants, Shares    
Warrants outstanding, beginning balance (in shares) 1,423,774  
Warrants granted (in shares) 0  
Warrants exercised (in shares) 0  
Warrants forfeited (in shares) 0  
Warrants expired (in shares) (2,000)  
Warrants outstanding, ending balance (in shares) 1,421,744 1,423,774
Warrants vested or expected to vest (in shares) 1,421,744  
Warrants exercisable (in shares) 1,421,744  
Warrants, Weighted Average Exercise Price    
Warrants outstanding, beginning balance (in dollars per share) $ 42.57  
Warrants granted (in dollars per share) 0  
Warrants exercised (in dollars per share) 0  
Warrants forfeited (in dollars per share) 0  
Warrants expired (in dollars per share) 88.35  
Warrants outstanding, ending balance (in dollars per share) 42.51 $ 42.57
Warrants vested or expected to vest (in dollars per share) 42.51  
Warrants exercisable (in dollars per share) $ 42.51  
Warrants, Weighted Average Contractual Term and Intrinsic Value    
Warrants outstanding, weighted average remaining contractual term (in years) 2 years 5 months 1 day 3 years 4 months 13 days
Warrants vested or expected to vest, weighted average remaining contractual term (in years) 2 years 5 months 1 day  
Warrants exercisable, weighted average remaining contractual term (in years) 2 years 5 months 1 day  
Warrants outstanding, aggregate intrinsic value $ 0 $ 0
Warrants vested or expected to vest, aggregate intrinsic value 0  
Warrants exercisable, aggregate intrinsic value $ 0