v3.24.0.1
Employee Benefit Plans - Schedule of Stock Option Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Weighted Average Exercise Price Per Share      
Weighted average remaining term (in years) 1 year 4 months 13 days    
Outstanding shares, Aggregate intrinsic value $ 86,085    
Stock Options      
Number of Shares      
Beginning balance (in shares) 2,082,000    
Granted (in shares) 0 0 0
Exercised (in shares) (974,000)    
Forfeited/ cancelled (in shares) 0    
Expired (in shares) (12,000)    
Ending balance (in shares) 1,096,000 2,082,000  
Number of shares, Vested and expected to vest (in shares) 1,096,000    
Number of shares, Exercisable Options (in shares) 1,096,000    
Weighted Average Exercise Price Per Share      
Beginning balance (in dollars per share) $ 10.24    
Granted (in dollars per share) 0    
Exercised (in dollars per share) 7.76    
Forfeited / cancelled (in dollars per share) 0    
Expired (in dollars per share) 7.55    
Ending balance (in dollars per share) 12.48 $ 10.24  
Weighted average exercise price, Vested and expected to vest (in dollars per share) 12.48    
Weighted average exercise price, Exercisable Options (in dollars per share) $ 12.48    
Weighted average remaining term (in years) 3 years 5 months 23 days    
Outstanding shares, Aggregate intrinsic value $ 483    
Vested and expected to vest, Weighted average remaining contractual term (in years) 3 years 5 months 23 days    
Vested and expected to vest, Aggregate intrinsic value $ 483    
Exercisable Options, Weighted average remaining contractual term (in years) 3 years 5 months 23 days    
Exercisable Options, Aggregate intrinsic value $ 483    
Intrinsic value of options exercised 1,800 $ 900 $ 2,200
Fair value of options vested $ 0 $ 2,300 $ 2,600