Annual report pursuant to Section 13 and 15(d)

Stock - Based Compensation - Summary of Stock Option Activity (Details)

v3.20.4
Stock - Based Compensation - Summary of Stock Option Activity (Details) - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Roll Forward]      
Outstanding, beginning of year, weighted average exercise price (in dollars per share) $ 14.26 $ 14.16  
Exercised, weighted average exercise price (in dollars per share)   12.61  
Expired, weighted average exercise price (in dollars per share) 13.14    
Outstanding, end of year, weighted average exercise price (in dollars per share) 12.74 $ 14.26 $ 14.16
Exercisable, weighted average exercise price (in dollars per share) $ 13.77    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]      
Outstanding, beginning of year (in shares) 55,468 59,096  
Exercised (in shares)   (3,628)  
Expired (in shares) (19,437)    
Outstanding, end of year (in shares) 179,531 55,468 59,096
Exercisable (in shares) 86,531    
Options outstanding, weighted average contractual term 7 years 2 months 12 days 3 years 9 months 18 days 4 years 9 months 18 days
Options exercisable, weighted average contractual term 5 years 1 month 6 days    
Options outstanding, intrinsic value $ 9,402 $ 18,331 $ 143,737
Options exercisable, intrinsic value $ 0    
Options available (in shares) 0    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest [Roll Forward]      
Expected to vest, beginning of the year, weighted average exercise price (in dollars per share) $ 16.01 $ 15.83  
Vested, weighted average exercise price (in dollars per share) 13.24 15.72  
Expired, weighted average exercise price (in dollars per share) 13.14    
Expected to vest, end of the year, weighted average exercise price (in dollars per share) $ 11.78 $ 16.01 $ 15.83
Expected to vest (in shares) 3,723 9,969  
Vested (in shares) (34,786) (6,246)  
Canceled, forfeited, or expired (in shares) (19,437)    
Expected to vest (in shares) 93,000 3,723 9,969
Options expected to vest, weighted average contractual term (years) 9 years 2 months 12 days 5 years 1 month 6 days 6 years
Options expected to vest, grant date fair value beginning balance (in dollars per share) $ 6.11 $ 6.44  
Options expected to vest, vested, grant date fair value (dollars per share) 4.68 6.46  
Options expected to vest, canceled forfeited or expired, weighted average fair value (in dollars per share) 4.62    
Options expected to vest, grant date fair value ending balance (in dollars per share) 5.53 6.11 $ 6.44
February 5, 2020      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Roll Forward]      
Granted, weighted average exercise price (in dollars per share) $ 13.00    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]      
Granted (in shares) 123,500    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest [Roll Forward]      
Granted (in dollars per share) $ 13.00    
Granted (in shares) 123,500    
Options expected to vest granted, weighted average fair value (in dollars per share) $ 4.53    
June 30, 2020      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Roll Forward]      
Granted, weighted average exercise price (in dollars per share) $ 7.33    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]      
Granted (in shares) 20,000    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest [Roll Forward]      
Granted (in dollars per share) $ 7.33    
Granted (in shares) 20,000    
Options expected to vest granted, weighted average fair value (in dollars per share) $ 2.59    
Stock Options      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Roll Forward]      
Exercisable, weighted average exercise price (in dollars per share) $ 13.77 $ 14.13  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]      
Exercised (in shares) 0 (3,628)  
Exercisable (in shares) 86,531 51,745  
Options available (in shares) 31,782 155,845 155,845
Options available, expired (in shares) 19,437    
Stock Options | February 5, 2020      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]      
Options available, granted (in shares) (123,500)    
Stock Options | June 30, 2020      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]      
Options available, granted (in shares) (20,000)