Quarterly report pursuant to Section 13 or 15(d)

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

v3.10.0.1
Stockholders' Equity - Summary of Stock Options Activity (Details) - $ / shares
6 Months Ended 12 Months Ended
Jun. 30, 2018
Dec. 31, 2017
Class Of Stock [Line Items]    
Stock Options Outstanding, Beginning balance 1,836,426  
Stock Options, Exercised (276,016)  
Stock Options, Forfeited (625)  
Stock Options Outstanding, Ending balance 1,559,785 1,836,426
Stock Options, Vested and exercisable 1,128,065  
Stock Options, Vested and expected to vest 1,531,385  
Price per share, Forfeited $ 24.52  
Outstanding, Weighted-average exercise price, Beginning balance 30.77  
Weighted-average exercise price, Exercised 23.61  
Weighted-average exercise price, Forfeited 24.52  
Outstanding, Weighted-average exercise price, Ending balance 32.04 $ 30.77
Weighted-average exercise price, Vested and exercisable 27.97  
Weighted-average exercise price, Vested and expected to vest $ 31.85  
Remaining weighted-average contractual term, Outstanding 4 years 2 months 26 days 4 years 6 months 29 days
Remaining weighted-average contractual term, Vested and exercisable 4 years 1 month 13 days  
Remaining weighted-average contractual term, Vested and expected to vest 4 years 2 months 23 days  
Outstanding, Per share average intrinsic value $ 154.29 $ 88.31
Per share average intrinsic value, Vested and exercisable 158.36  
Per share average intrinsic value, Vested and expected to vest 154.48  
Minimum    
Class Of Stock [Line Items]    
Outstanding, Price per share, Beginning balance 0.60  
Price per share, Exercised 0.60  
Outstanding, Price per share, Ending balance 0.60 0.60
Price per share, Vested and exercisable 0.60  
Price per share, Vested and expected to vest 0.60  
Maximum    
Class Of Stock [Line Items]    
Outstanding, Price per share, Beginning balance 83.30  
Price per share, Exercised 58.95  
Outstanding, Price per share, Ending balance 83.30 $ 83.30
Price per share, Vested and exercisable 83.30  
Price per share, Vested and expected to vest $ 83.30