Stock-based Compensation - Summary of Warrant Activity (Details) - $ / shares
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Share-based Payment Arrangement [Abstract]    
Warrant Outstanding, Beginning 483,535 706,262
Warrant Outstanding, Warrants issued 500,000 50,000
Warrant Outstanding, Expired
Warrant Outstanding, Forfeited warrants
Warrant Outstanding, Exercised 272,727
Warrant Outstanding, Ending 983,535 483,535
Weighted Average Exercise Price, Beginning $ 4.92 $ 3.27
Weighted Average Exercise Price, Warrant issued 1.53 2.00
Weighted Average Exercise Price, Expired
Weighted Average Exercise Price, Forfeited warrants
Weighted Average Exercise Price, Exercised 0.11
Weighted Average Exercise Price, Ending 1.44 4.92
Weighted Average Fair Value, Beginning 1.99 1.48
Weighted Average Fair Value, Warrant issued 1.46 1.22
Weighted Average Fair Value, Expired
Weighted Average Fair Value, Forfeited warrants
Weighted Average Fair Value, Exercised 0.54
Weighted Average Fair Value, Ending $ 1.03 $ 1.99
Weighted-average Remaining Contractual Life (Years), Beginning 3 years 3 months 15 days 4 years 2 months 19 days
Weighted-average Remaining Contractual Life (Years), Warrants issued 5 years 5 years
Weighted-average Remaining Contractual Life (Years), Exercised   3 years 4 months 20 days
Weighted-average Remaining Contractual Life (Years), Ending 3 years 4 months 2 days 3 years 3 months 15 days