| 13. Stock Options (Details Narrative) - USD ($) | 12 Months Ended | |
|---|---|---|
| Dec. 31, 2019 | Dec. 31, 2018 | |
| Share-based compensation | $ 184,259 | $ (16,589) | 
| Unvested share based compensation | $ 142,880 | |
| Stock Options [Member] | ||
| Options granted | 81,000 | 170,176 | 
| Stock Options [Member] | Officers [Member] | ||
| Options granted | 81,000 | |
| Share-based compensation | $ 117,797 | |
| 2015 Plan [Member] | ||
| Shares authorized under plan | 2,167,667 | |
| X | ||||||||||
| 
- Definition Amount of cost not yet recognized for nonvested award under share-based payment arrangement. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
 | 
| X | ||||||||||
| 
- Definition Amount of noncash expense for share-based payment arrangement. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
 | 
| X | ||||||||||
| 
- Definition Number of shares authorized for issuance under share-based payment arrangement. 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 | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Details 
 |