XML 288 R85.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-based compensation - Shares Authorized Under Stock Option Plan (Details)
12 Months Ended
Dec. 31, 2023
$ / shares
shares
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
Shares outstanding | shares 217,250
Weighted Average Remaining Contractual Life 2 years 21 days
Weighted Average Exercise Price (in dollars per share) $ 2.21
$1.00 - 1.50  
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
Option, exercise price range, lower range limit 1.00
Option, exercise price range, upper range limit $ 1.50
Shares outstanding | shares 2,000
Weighted Average Remaining Contractual Life 2 years 10 months 6 days
Weighted Average Exercise Price (in dollars per share) $ 1.49
$1.51 - 2.00  
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
Option, exercise price range, lower range limit 1.51
Option, exercise price range, upper range limit $ 2.00
Shares outstanding | shares 116,500
Weighted Average Remaining Contractual Life 2 years 3 months 25 days
Weighted Average Exercise Price (in dollars per share) $ 1.89
$2.01 - 2.50  
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
Option, exercise price range, lower range limit 2.01
Option, exercise price range, upper range limit $ 2.50
Shares outstanding | shares 84,500
Weighted Average Remaining Contractual Life 1 year 4 months 9 days
Weighted Average Exercise Price (in dollars per share) $ 2.07
$2.51 - 8.60  
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
Option, exercise price range, lower range limit 2.51
Option, exercise price range, upper range limit $ 8.60
Shares outstanding | shares 14,250
Weighted Average Remaining Contractual Life 3 years 11 months 1 day
Weighted Average Exercise Price (in dollars per share) $ 5.69