Annual report pursuant to Section 13 and 15(d)

Stock-Based Compensation (Summary of Stock Option Activity) (Details)

v3.19.3.a.u2
Stock-Based Compensation (Summary of Stock Option Activity) (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
Share-based Payment Arrangement [Abstract]        
Options outstanding, beginning, number of shares 1,604,621 1,769,887 2,151,542  
Granted, number of shares 395,653 402,010 540,537  
Cancelled, number of shares (68,275) (67,440) (246,450)  
Exercised, number of shares (452,325) (499,836) (675,742)  
Options outstanding, ending, number of shares 1,479,674 1,604,621 1,769,887 2,151,542
Options outstanding, beginning, weighted average exercise price $ 53.86 $ 44.22 $ 37.40  
Granted, weighted average exercise price 93.98 76.48 55.90  
Cancelled, weighted average exercise price 74.10 60.75 50.62  
Exercised, weighted average exercise price 43.76 36.98 29.52  
Options outstanding, ending, weighted average exercise price $ 66.74 $ 53.86 $ 44.22 $ 37.40
Options outstanding, beginning, weighted average remaining contractual life, years 7 years 1 month 9 days 6 years 11 months 12 days 6 years 8 months 8 days 6 years 4 months 20 days
Options outstanding, ending, weighted average remaining contractual life, years 7 years 1 month 9 days 6 years 11 months 12 days 6 years 8 months 8 days 6 years 4 months 20 days
Options outstanding, beginning, aggregate intrinsic value $ 48,703 $ 48,962 $ 45,253  
Options outstanding, ending, aggregate intrinsic value $ 49,930 $ 48,703 $ 48,962 $ 45,253
Options vested and expected to vest, number of shares 1,421,269      
Options vested and expected to vest, weighted average exercise price $ 66.05      
Options vested and expected to vest, weighted average remining contractual life, years 7 years 18 days      
Options vested and expected to vest, aggregate intrinsic value $ 48,915      
Options exercisable, number of shares 605,469      
Options exercisable, weighted average exercise price $ 50.57      
Options exercisable, weighted average remaining contractual life 5 years 5 months 23 days      
Options exercisable, aggregate intrinsic value $ 30,048