4. Stock Incentive Plan (Details) - $ / shares  | 
3 Months Ended | 12 Months Ended | 
|---|---|---|
Mar. 31, 2020  | 
Dec. 31, 2019  | 
|
| Share-based Payment Arrangement [Abstract] | ||
| Stock options outstanding, beginning | 1,087,463 | 1,105,896 | 
| Stock options, granted | 205,110 | 0 | 
| Stock options, forfeited | 0 | 0 | 
| Stock options, exercised | 0 | (18,433) | 
| Stock options outstanding, ending | 1,292,573 | 1,087,463 | 
| Weighted average exercise price outstanding, beginning | $ 2.94 | $ 2.99 | 
| Weighted average exercise price, granted | 14.55 | 0.00 | 
| Weighted average exercise price, forfeited | 0.00 | 0.00 | 
| Weighted average exercise price, exercised | 0.00 | 5.97 | 
| Weighted average exercise price outstanding, ending | $ 4.78 | $ 2.94 | 
| X | ||||||||||
- References No definition available. 
  | 
| X | ||||||||||
- References No definition available. 
  | 
| X | ||||||||||
- Definition Weighted average price of options that were either forfeited or expired. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
  | 
| X | ||||||||||
- Definition The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
  | 
| X | ||||||||||
- Definition Gross number of share options (or share units) granted during the period. No definition available. 
  | 
| X | ||||||||||
- Definition Number of options outstanding, including both vested and non-vested options. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
  | 
| X | ||||||||||
- Definition Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
  | 
| X | ||||||||||
- Definition Weighted average price at which option holders acquired shares when converting their stock options into shares. No definition available. 
  | 
| X | ||||||||||
- Definition Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options. No definition available. 
  |