Annual report pursuant to Section 13 and 15(d)

Stockholders' Equity - Summary of Stock Options Activity (Details)

v3.10.0.1
Stockholders' Equity - Summary of Stock Options Activity (Details) - $ / shares
12 Months Ended
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
Dec. 31, 2015
Class Of Stock [Line Items]        
Stock Options Outstanding, Beginning balance 1,836,426 2,355,527 2,295,370  
Stock Options, Granted   64,498 683,998  
Stock Options, Exercised (708,319) (520,393) (570,079)  
Stock Options, Forfeited (771) (63,173) (53,247)  
Stock Options, Expired   (33) (515)  
Stock Options Outstanding, Ending balance 1,127,336 1,836,426 2,355,527 2,295,370
Stock Options, Vested and exercisable 851,039 1,176,504 1,023,865  
Stock Options, Vested and expected to vest 1,109,280 1,792,871 2,259,811  
Price per share, Granted   $ 83.30    
Price per share, Expired   8.70 $ 8.70  
Outstanding, Weighted-average exercise price, Beginning balance $ 30.77 28.22 19.36  
Weighted-average exercise price, Granted   83.30 44.70  
Weighted-average exercise price, Exercised 24.22 24.16 12.32  
Weighted-average exercise price, Forfeited 28.24 43.74 28.09  
Weighted-average exercise price, Expired   8.70 8.70  
Outstanding, Weighted-average exercise price, Ending balance 34.89 30.77 28.22 $ 19.36
Weighted-average exercise price, Vested and exercisable 32.12 24.33 16.61  
Weighted-average exercise price, Vested and expected to vest $ 34.75 $ 30.50 $ 27.95  
Remaining weighted-average contractual term, Outstanding 3 years 10 months 2 days 4 years 6 months 29 days 5 years 5 months 1 day 5 years 11 months 23 days
Remaining weighted-average contractual term, Vested and exercisable 3 years 9 months 4 years 4 months 20 days 4 years 11 months 15 days  
Remaining weighted-average contractual term, Vested and expected to vest 3 years 10 months 2 days 4 years 6 months 29 days 5 years 4 months 24 days  
Outstanding, Per share average intrinsic value $ 89.28 $ 88.31 $ 38.95 $ 21.07
Per share average intrinsic value, Vested and exercisable 92.05 94.75 50.56  
Per share average intrinsic value, Vested and expected to vest 89.42 88.58 39.22  
Minimum        
Class Of Stock [Line Items]        
Outstanding, Price per share, Beginning balance 0.60 0.60 0.60  
Price per share, Granted     37.10  
Price per share, Exercised 0.60 0.60 0.60  
Price per share, Forfeited 24.52 24.52 0.75  
Outstanding, Price per share, Ending balance 0.75 0.60 0.60 0.60
Price per share, Vested and exercisable 0.75 0.60 0.60  
Price per share, Vested and expected to vest 0.75 0.60 0.60  
Maximum        
Class Of Stock [Line Items]        
Outstanding, Price per share, Beginning balance 83.30 58.95 46.66  
Price per share, Granted     58.95  
Price per share, Exercised 58.95 58.95 46.66  
Price per share, Forfeited 44.19 58.95 44.19  
Outstanding, Price per share, Ending balance 83.30 83.30 58.95 $ 46.66
Price per share, Vested and exercisable 83.30 83.30 46.66  
Price per share, Vested and expected to vest $ 83.30 $ 83.30 $ 46.66