Annual report [Section 13 and 15(d), not S-K Item 405]

Stock-Based Compensation - Stock Options Activity (Details)

v3.25.0.1
Stock-Based Compensation - Stock Options Activity (Details) - Stock options - USD ($)
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Number of Shares      
Outstanding, beginning (in shares) 486,334 531,923  
Granted at market price (in shares) 38,059 0  
Exercised (in shares) (227,952) (25,623)  
Expired (in shares) (9,201) (12,591)  
Cancelled (in shares) (5,263) (7,375)  
Outstanding, ending (in shares) 281,977 486,334 531,923
Exercisable, number of shares (in shares) 239,901    
Vested and expected to vest (in shares) 277,773    
Weighted Average Exercise Price      
Outstanding, weighted average exercise price, beginning (in dollars per share) $ 8.88 $ 9.2  
Granted at market price, weighted average exercise price (in dollars per share) 10.51    
Exercised, weighted average exercise price (in dollars per share) 4.08 7.90  
Expired, weighted average exercise price (in dollars per share) 26.52 13.07  
Cancelled, weighted average exercise price (in dollars per share) 41.18 28.58  
Outstanding, weighted average exercise price, ending (in dollars per share) 11.80 $ 8.88 $ 9.2
Exercisable, weighted average exercise price (in dollars per share) 11.39    
Vested and expected to vest , weighted average exercise price (in dollars per share) $ 11.81    
Weighted Average Remaining Contractual Life      
Outstanding, weighted average remaining contractual life (in year) 3 years 3 months 3 days 3 years 8 months 12 days 4 years 8 months 12 days
Exercisable, weighted average remaining contractual life (in year) 2 years 2 months 4 days    
Vested and expected to vest , weighted average remaining contractual life (in year) 3 years 1 month 28 days    
Aggregate Intrinsic Value      
Outstanding, aggregate intrinsic value $ 777,566 $ 1,903,699 $ 3,797,904
Exercised, aggregate intrinsic value 1,435,074 $ 205,191  
Exercisable, aggregate intrinsic value 777,566    
Vested and expected to vest, aggregate intrinsic value $ 777,566