Stock Compensation (Schedule of Option Activity) (Details)
12 Months Ended
Dec. 31, 2021
USD ($)
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Number of Shares, Options exercised (446,551)
Stock Options [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Number of Shares, Outstanding at December 31, 2020 4,797,834
Number of Shares, Options granted 230,000
Number of Shares, Options exercised (514,707)
Number of Shares, Options cancelled or expired (800,259)
Number of Shares, Outstanding at December 31, 2021 3,712,868
Number of Shares, Vested or expected to vest at December 31, 2021 3,711,637
Number of Shares, Exercisable at December 31, 2021 3,586,867
Weighted Average Exercise Price, Outstanding at December 31, 2020 | $ / shares $ 2.17
Weighted Average Exercise Price, Options granted | $ / shares 3.24
Weighted Average Exercise Price, Options exercised | $ / shares 1.92
Weighted Average Exercise Price, Options cancelled or expired | $ / shares 4.27
Weighted Average Exercise Price, Outstanding at December 31, 2021 | $ / shares 1.81
Weighted Average Exercise Price, Vested or expected to vest at December 31, 2021 | $ / shares 1.81
Weighted Average Exercise Price, Exercisable at December 31, 2021 | $ / shares $ 1.77
Weighted Average Remaining Contractual Life (In Years), Outstanding at December 31, 2021 3 years 3 months 21 days
Weighted Average Remaining Contractual Life (In Years), Vested or expected to vest at December 31, 2021 3 years 3 months 21 days
Weighted Average Remaining Contractual Life (In Years), Exercisable at December 31, 2021 3 years 1 month 17 days
Aggregate Intrinsic Value, Outstanding at December 31, 2021 | $ $ 901,111
Aggregate Intrinsic Value, Vested or expected to vest at December 31, 2021 | $ 901,015
Aggregate Intrinsic Value, Exercisable at December 31, 2021 | $ $ 892,211