v3.22.4
Stockholders' Equity - Stock Option Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2020
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]    
Beginning balance (in shares) 1,141,814  
Exercised (in shares) (309,004)  
Cancelled/Forfeited (in shares) (1,157)  
Ending balance (in shares) 841,773  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]    
Beginning balance (in dollars per share) $ 27.02  
Grants (in dollars per share) 197.74  
Exercised (in dollars per share) 25.25  
Cancelled/Forfeited (in dollars per share) 22.04  
Ending balance (in dollars per share) $ 29.73  
Options Vested and Expected to Vest    
Vested and expected to vest (in shares) 841,046  
Vested and expected to vest, Weighted Average Exercise Price (in dollars per share) $ 29.59  
Vested and expected to vest, Weighted average remaining contractual life (in years) 2 years 10 months 6 days  
Vested and expected to vest, aggregate intrinsic value $ 162,213  
Exercisable (in shares) 829,678  
Exercisable, weighted average exercise price (in dollars per share) $ 27.38  
Exercisable, weighted average remaining contractual life (in years) 2 years 9 months 7 days  
Exercisable, aggregate intrinsic value $ 161,856  
2014 Equity Incentive Plan    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]    
Grants (in shares) 10,120 0