Stock option plans - Stock options outstanding and exercisable (Details) | May 31, 2021$ / sharesshares | May 31, 2020$ / sharesshares | May 31, 2019$ / sharesshares |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | $ 7.01 | | |
Range of exercise prices, Maximum | $ 20 | | |
Remaining number of years | 5.7 | | |
Number of Options | shares | 267,750 | 252,250 | 224,000 |
Weighted Average Exercise Price | $ 11.60 | $ 11.52 | $ 11.71 |
Range of exercise prices, Minimum | | 5.01 | |
Range of exercise prices, Maximum | | $ 20 | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number | shares | 267,750 | 252,250 | 224,000 |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Two [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | $ 7.01 | | |
Range of exercise prices, Maximum | $ 8 | | |
Number of Options | shares | 15,000 | 15,000 | |
Remaining number of years | 1.6 | | |
Weighted Average Exercise Price | $ 7.74 | | |
Range of exercise prices, Minimum | | $ 7.01 | |
Range of exercise prices, Maximum | | $ 8 | |
Remaining number of years | | 2.9 | |
Weighted Average Exercise Price | shares | | 7.74 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Three [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | 8.01 | | |
Range of exercise prices, Maximum | $ 9 | | |
Number of Options | shares | 24,250 | 27,250 | |
Remaining number of years | 2.1 | | |
Weighted Average Exercise Price | $ 8.71 | | |
Range of exercise prices, Minimum | | $ 8.01 | |
Range of exercise prices, Maximum | | $ 9 | |
Remaining number of years | | 3.6 | |
Weighted Average Exercise Price | shares | | 8.69 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Four [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | 9.01 | | |
Range of exercise prices, Maximum | $ 10 | | |
Number of Options | shares | 30,000 | 30,750 | |
Remaining number of years | 7.6 | | |
Weighted Average Exercise Price | $ 9.85 | | |
Range of exercise prices, Minimum | | $ 9.01 | |
Range of exercise prices, Maximum | | $ 10 | |
Remaining number of years | | 9.9 | |
Weighted Average Exercise Price | shares | | 9.85 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Five [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | 10.01 | | |
Range of exercise prices, Maximum | $ 11 | | |
Number of Options | shares | 32,250 | 15,000 | |
Remaining number of years | 7.2 | | |
Weighted Average Exercise Price | $ 10.17 | | |
Range of exercise prices, Minimum | | $ 10.01 | |
Range of exercise prices, Maximum | | $ 11 | |
Remaining number of years | | 7.9 | |
Weighted Average Exercise Price | shares | | 10.30 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Six [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | 11.01 | | |
Range of exercise prices, Maximum | $ 12 | | |
Number of Options | shares | 91,250 | 68,750 | |
Remaining number of years | 7.4 | | |
Weighted Average Exercise Price | $ 11.71 | | |
Range of exercise prices, Minimum | | $ 11.01 | |
Range of exercise prices, Maximum | | $ 12 | |
Remaining number of years | | 7.8 | |
Weighted Average Exercise Price | shares | | 11.57 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Seven [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | 12.01 | | |
Range of exercise prices, Maximum | $ 13 | | |
Number of Options | shares | 33,750 | 40,500 | |
Remaining number of years | 4.3 | | |
Weighted Average Exercise Price | $ 12.36 | | |
Range of exercise prices, Minimum | | $ 12.01 | |
Range of exercise prices, Maximum | | $ 13 | |
Remaining number of years | | 5.8 | |
Weighted Average Exercise Price | shares | | 12.38 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Eight [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | 13.01 | | |
Range of exercise prices, Maximum | $ 14 | | |
Number of Options | shares | 15,000 | 15,000 | |
Remaining number of years | 4.2 | | |
Weighted Average Exercise Price | $ 13.80 | | |
Range of exercise prices, Minimum | | $ 13.01 | |
Range of exercise prices, Maximum | | $ 14 | |
Remaining number of years | | 6.9 | |
Weighted Average Exercise Price | shares | | 13.80 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Nine [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | 16.01 | | |
Range of exercise prices, Maximum | $ 17 | | |
Number of Options | shares | 15,000 | 15,000 | |
Remaining number of years | 3.6 | | |
Weighted Average Exercise Price | $ 16.40 | | |
Range of exercise prices, Minimum | | $ 16.01 | |
Range of exercise prices, Maximum | | $ 17 | |
Remaining number of years | | 5.9 | |
Weighted Average Exercise Price | shares | | 16.40 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Ten [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Range of exercise prices, Minimum | 19.01 | | |
Range of exercise prices, Maximum | $ 20 | | |
Number of Options | shares | 11,250 | 15,000 | |
Remaining number of years | 5.2 | | |
Weighted Average Exercise Price | $ 19.26 | | |
Range of exercise prices, Minimum | | $ 19.01 | |
Range of exercise prices, Maximum | | $ 20 | |
Remaining number of years | | 6.2 | |
Weighted Average Exercise Price | shares | | 19.26 | |
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range One [Member] | | | |
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] | | | |
Number of Options | shares | | 10,000 | |
Range of exercise prices, Maximum | | $ 6 | |
Remaining number of years | | 0.9 | |
Weighted Average Exercise Price | shares | | 5.69 | |