Annual report pursuant to Section 13 and 15(d)

Stock-Based Compensation Expense - Stock Options Outstanding, Exercisable and Intrinsic Value (Details)

v3.20.1
Stock-Based Compensation Expense - Stock Options Outstanding, Exercisable and Intrinsic Value (Details) - USD ($)
12 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Mar. 31, 2018
Mar. 31, 2017
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Issuance of common stock in exercise of stock options, shares     88,084  
Exercised, weighted average exercise price (in dollars per share)     $ 21.51  
Stock Options        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Total Intrinsic Value $ 3,240,000 $ 555,000 $ 648,000  
Options outstanding (in shares) 139,485 329,386 367,571 411,939
Share-based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price $ 12.30 $ 8.96 $ 9.12 $ 8.94
Issuance of common stock in exercise of stock options, shares 185,792 37,906 42,956  
Exercised, weighted average exercise price (in dollars per share) $ 6.24 $ 10.44 $ 7.00  
Forfeited (in shares) (4,109) (279) (1,412)  
Forfeited, weighted average exercise price (in dollars per share) $ 21.40 $ 21.52 $ 19.83  
Stock Options | $5.20        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price $ 5.20      
Options outstanding (in shares) 53,825      
Options outstanding, weighted average contractual life (in years) 6 months 18 days      
Options outstanding, weighted average exercise price (in dollars per share) $ 5.20      
Options outstanding, aggregate intrinsic value $ 531,253      
Options vested and exercisable, number exercisable (in shares) 53,825      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term 6 months 18 days      
Options vested and exercisable, weighted average exercise price (in dollars per share) 5.20      
Options vested and exercisable, aggregate intrinsic value $ (531,253)      
Stock Options | $9.82        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price $ 9.82      
Options outstanding (in shares) 6,177      
Options outstanding, weighted average contractual life (in years) 10 months 28 days      
Options outstanding, weighted average exercise price (in dollars per share) $ 9.82      
Options outstanding, aggregate intrinsic value $ 32,429      
Options vested and exercisable, number exercisable (in shares) 6,177      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term 10 months 28 days      
Options vested and exercisable, weighted average exercise price (in dollars per share) 9.82      
Options vested and exercisable, aggregate intrinsic value $ (32,429)      
Stock Options | $12.00        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price $ 12.00      
Options outstanding (in shares) 29,560      
Options outstanding, weighted average contractual life (in years) 1 year 1 month 2 days      
Options outstanding, weighted average exercise price (in dollars per share) $ 12.00      
Options outstanding, aggregate intrinsic value $ 90,499      
Options vested and exercisable, number exercisable (in shares) 29,560      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term 1 year 1 month 2 days      
Options vested and exercisable, weighted average exercise price (in dollars per share) 12.00      
Options vested and exercisable, aggregate intrinsic value $ (90,499)      
Stock Options | $19.64        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price $ 19.64      
Options outstanding (in shares) 28,499      
Options outstanding, weighted average contractual life (in years) 6 years 9 months 3 days      
Options outstanding, weighted average exercise price (in dollars per share) $ 19.64      
Options outstanding, aggregate intrinsic value $ (130,240)      
Options vested and exercisable, number exercisable (in shares) 28,499      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term 6 years 9 months 3 days      
Options vested and exercisable, weighted average exercise price (in dollars per share) 19.64      
Options vested and exercisable, aggregate intrinsic value $ (130,240)      
Stock Options | $21.52        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price $ 21.52      
Options outstanding (in shares) 21,424      
Options outstanding, weighted average contractual life (in years) 2 years 4 months 2 days      
Options outstanding, weighted average exercise price (in dollars per share) $ 21.52      
Options outstanding, aggregate intrinsic value $ (138,185)      
Options vested and exercisable, number exercisable (in shares) 21,424      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term 2 years 4 months 2 days      
Options vested and exercisable, weighted average exercise price (in dollars per share) 21.52      
Options vested and exercisable, aggregate intrinsic value $ (138,185)      
Stock Options | $5.20 - $21.52        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Options outstanding (in shares) 139,485      
Options outstanding, weighted average contractual life (in years) 2 years 2 months 19 days      
Options outstanding, weighted average exercise price (in dollars per share) $ 12.30      
Options outstanding, aggregate intrinsic value $ 385,756      
Options vested and exercisable, number exercisable (in shares) 139,485      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term 2 years 2 months 19 days      
Options vested and exercisable, weighted average exercise price (in dollars per share) 12.30      
Options vested and exercisable, aggregate intrinsic value $ (385,756)      
Minimum | Stock Options        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price $ 5.20      
Maximum | Stock Options        
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]        
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price $ 21.52