Quarterly report pursuant to Section 13 or 15(d)

Share-Based Compensation - Schedule of Share-based Payment Arrangement, Option, Activity (Details)

v3.24.2.u1
Share-Based Compensation - Schedule of Share-based Payment Arrangement, Option, Activity (Details)
6 Months Ended 12 Months Ended
Jun. 30, 2024
USD ($)
$ / shares
shares
Dec. 31, 2023
USD ($)
$ / shares
shares
2014 Equity Incentive Plan    
Number of Authorized Shares    
Outstanding, beginning balance (in shares) | shares 657,346  
Exercised (in shares) | shares (35,487)  
Exercised shares forgone to satisfy minimum statutory withholding (in shares) | shares (14,654)  
Shares tendered for cashless exercise (in shares) | shares (43,193)  
Forfeitures and expirations (in shares) | shares (1,500)  
Outstanding, ending balance (in shares) | shares 562,512 657,346
Exercisable (in shares) | shares 562,512  
Weighted- Average Exercise Price    
Outstanding, beginning balance (in dollars per share) | $ / shares $ 6.69  
Exercised ( in dollars per share) | $ / shares 3.62  
Exercised shares forgone to satisfy minimum statutory withholding (in dollars per share) | $ / shares 2.69  
Shares tendered for cashless exercise (in dollars per share) | $ / shares 3.78  
Forfeitures and expirations (in dollars per share) | $ / shares 18.44  
Outstanding, ending balance (in dollars per share) | $ / shares 7.17 $ 6.69
Exercisable (in dollars per share) | $ / shares $ 7.17  
Options, Additional Disclosures    
Outstanding, Weighted average remaining contractual term 4 years 1 month 28 days 4 years 1 month 28 days
Exercisable, Weighted average remaining contractual term 4 years 1 month 28 days  
Outstanding, Aggregate Intrinsic Value | $ $ 1,054,630 $ 2,983,514
Exercised, Aggregate Intrinsic Value | $ 312,195  
Exercisable, Aggregate Intrinsic Value | $ $ 1,054,630  
2021 Equity Incentive Plan    
Number of Authorized Shares    
Outstanding, beginning balance (in shares) | shares 1,051,673  
Granted (in shares) | shares 866,147  
Forfeitures and expirations (in shares) | shares (36,541)  
Outstanding, ending balance (in shares) | shares 1,881,279 1,051,673
Exercisable (in shares) | shares 609,822  
Weighted- Average Exercise Price    
Outstanding, beginning balance (in dollars per share) | $ / shares $ 11.05  
Granted (in dollars per share) | $ / shares 6.80  
Forfeitures and expirations (in dollars per share) | $ / shares 11.01  
Outstanding, ending balance (in dollars per share) | $ / shares 9.10 $ 11.05
Exercisable (in dollars per share) | $ / shares $ 12.25  
Options, Additional Disclosures    
Outstanding, Weighted average remaining contractual term 9 years 8 years 9 months 14 days
Exercisable, Weighted average remaining contractual term 7 years 11 months 8 days  
Outstanding, Aggregate Intrinsic Value | $ $ 349,478 $ 1,207,118
Exercisable, Aggregate Intrinsic Value | $ $ 0