Stock-based Compensation - Schedule of Warrant Activity (Details) - $ / shares
3 Months Ended 12 Months Ended
Mar. 31, 2020
Dec. 31, 2019
Share-based Payment Arrangement [Abstract]    
Warrant Outstanding, Beginning 983,535 483,535
Warrant Outstanding, Warrants issued 500,000
Warrant Outstanding, Expired
Warrant Outstanding, Forfeited warrants
Warrant Outstanding, Exercised (784,445)
Warrant Outstanding, Ending 199,090 983,535
Weighted Average Exercise Price, Beginning $ 1.44 $ 4.92
Weighted Average Exercise Price, Warrant issued 1.53
Weighted Average Exercise Price, Expired
Weighted Average Exercise Price, Forfeited warrants
Weighted Average Exercise Price, Exercised (1.28)
Weighted Average Exercise Price, Ending 2.09 1.44
Weighted Average Fair Value, Beginning 1.03 1.99
Weighted Average Fair Value, Warrant issued 1.46
Weighted Average Fair Value, Expired
Weighted Average Fair Value, Forfeited warrants
Weighted Average Fair Value, Exercised (1.19)
Weighted Average Fair Value, Ending $ 0.38 $ 1.03
Weighted-average Remaining Contractual Life (Years), Beginning 3 years 4 months 2 days 3 years 3 months 15 days
Weighted-average Remaining Contractual Life (Years), Warrants issued   5 years
Weighted-average Remaining Contractual Life (Years), Exercised 2 years 10 months 25 days  
Weighted-average Remaining Contractual Life (Years), Ending 3 years 10 months 6 days 3 years 4 months 2 days