| Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions | The Company has computed the fair value of all options granted using the Black-Scholes-Merton model during the year ended December 31, 2021, using the following assumptions: 
|  |  |  |  |  |  |  |  |  |  
|  |  | Year Ended December 31, |  
|  |  | 2021 |  
| Expected volatility |  | 57% |  
| Expected dividends |  | None |  
| Expected term (years) |  | 7 |  
| Risk-free rate |  | 0.97% to 1.27% |  | 
| Share-based Compensation, Stock Options, Activity | The information below summarizes the stock options activity: 
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
|  | Number of Shares
 |  | Weighted Average
 Exercise
 Price
 |  | Weighted Average
 Remaining
 Contractual Life
 |  | Aggregate Intrinsic Value |  
| Outstanding at December 31, 2020 | 835,601 |  |  | $ | 6.65 |  |  | 6.6 |  | $ | 16,153,117 |  |  
| Granted at market price | 48,192 |  |  | 47.01 |  |  |  |  |  |  
| Exercised | (260,044) |  |  | 5.84 |  |  |  |  | $ | 15,244,054 |  |  
| Cancelled | (28,660) |  |  | 18.17 |  |  |  |  |  |  
| Outstanding at December 31, 2021 | 595,089 |  |  | $ | 9.72 |  |  | 5.9 |  | $ | 33,336,794 |  |  
| Granted at market price | — |  |  |  |  |  |  |  |  
| Exercised | (43,380) |  |  | 8.86 |  |  |  |  | $ | 657,058 |  |  
| Expired | (2,795) |  |  | 28.45 |  |  |  |  |  |  
| Cancelled | (16,991) |  |  | 24.96 |  |  |  |  |  |  
| Outstanding at December 31, 2022 | 531,923 |  |  | $ | 9.20 |  |  | 4.7 |  | $ | 3,797,904 |  |  
| Exercisable at December 31, 2022 | 454,315 |  |  | $ | 6.43 |  |  | 4.3 |  | $ | 3,772,164 |  |  
| Vested and expected to vest at December 31, 2022 | 528,981 |  |  | $ | 9.07 |  |  | 4.7 |  | $ | 3,797,670 |  |  | 
| Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity | The information below summaries the restricted stock activity: 
|  |  |  |  |  |  |  |  |  |  |  |  |  
| Restricted Stock Awards | Shares |  | Weighted Average Grant-Date Fair Value per Award |  
| Non-vested at December 31, 2020 | 45,595 |  |  | $ | 13.13 |  |  
| Granted | 10,010 |  |  | 58.25 |  |  
| Vested | (26,143) |  |  | 13.61 |  |  
| Cancelled | (1,742) |  |  | 20.63 |  |  
| Non-vested at December 31, 2021 | 27,720 |  |  | 28.51 |  |  
| Granted | 68,125 |  |  | 29.47 |  |  
| Vested | (17,240) |  |  | 29.13 |  |  
| Cancelled | (8,293) |  |  | 30.51 |  |  
| Non-vested at December 31, 2022 | 70,312 |  |  | $ | 29.05 |  |  |