v3.19.1
Stock-Based Compensation - Stock Option Summary (Details) - USD ($)
12 Months Ended
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted Average Exercise Price (in dollars per share) $ 9.38 $ 8.01 $ 6.36
Average Remaining Life (years) 3 years 1 month 6 days    
Outstanding Shares (in shares) 1,431,860 1,363,444 1,599,976
Exercisable Shares (in shares) 643,610 644,472  
Outstanding Shares, intrinsic value $ 3,178,491 $ 5,951,363  
Exercisable Shares, intrinsic value $ 2,399,743 $ 4,271,277  
Exercise Price Range 1      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted Average Exercise Price (in dollars per share) $ 6.63 $ 5.00  
Average Remaining Life (years) 1 year 1 year  
Outstanding Shares (in shares) 283,886 211,952  
Exercisable Shares (in shares) 268,886 211,952  
Exercise Price Range 2      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted Average Exercise Price (in dollars per share) $ 7.50 $ 6.63  
Average Remaining Life (years) 2 years 2 years  
Outstanding Shares (in shares) 297,348 323,792  
Exercisable Shares (in shares) 207,898 218,868  
Exercise Price Range 3      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted Average Exercise Price (in dollars per share) $ 8.50 $ 7.50  
Average Remaining Life (years) 3 years 3 years  
Outstanding Shares (in shares) 222,276 328,900  
Exercisable Shares (in shares) 103,176 154,100  
Exercise Price Range 4      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted Average Exercise Price (in dollars per share) $ 11.38 $ 8.50  
Average Remaining Life (years) 5 years 4 years  
Outstanding Shares (in shares) 354,750 238,200  
Exercisable Shares (in shares) 0 59,552  
Exercise Price Range 5      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted Average Exercise Price (in dollars per share) $ 12.38 $ 12.38  
Average Remaining Life (years) 4 years 5 years  
Outstanding Shares (in shares) 266,600 260,600  
Exercisable Shares (in shares) 63,650 0  
Exercise Price Range 6      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted Average Exercise Price (in dollars per share) $ 12.80 $ 8.01  
Average Remaining Life (years) 4 years 9 months 18 days 2 years 7 months 6 days  
Outstanding Shares (in shares) 7,000 1,363,444  
Exercisable Shares (in shares) 0 644,472