Stock-based Compensation - Schedule of Warrant Activity (Details) - $ / shares
6 Months Ended 12 Months Ended
Jun. 30, 2020
Dec. 31, 2019
Share-based Payment Arrangement [Abstract]    
Warrant Outstanding, Beginning 983,535 483,535
Warrant Outstanding, Warrants issued 20,000 500,000
Warrant Outstanding, Expired
Warrant Outstanding, Forfeited warrants
Warrant Outstanding, Exercised (894,445)
Warrant Outstanding, Ending 109,090 983,535
Weighted Average Exercise Price, Beginning $ 1.44 $ 4.92
Weighted Average Exercise Price, Warrant issued 16.49 1.53
Weighted Average Exercise Price, Expired
Weighted Average Exercise Price, Forfeited warrants
Weighted Average Exercise Price, Exercised (1.37)
Weighted Average Exercise Price, Ending 2.06 1.44
Weighted Average Fair Value, Beginning 1.03 1.99
Weighted Average Fair Value, Warrant issued 15.19 1.46
Weighted Average Fair Value, Expired
Weighted Average Fair Value, Forfeited warrants
Weighted Average Fair Value, Exercised (1.05)
Weighted Average Fair Value, Ending $ 1.17 $ 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 5 years
Weighted-average Remaining Contractual Life (Years), Exercised 2 years 9 months 18 days  
Weighted-average Remaining Contractual Life (Years), Ending 3 years 7 months 13 days 3 years 4 months 2 days