v3.25.2
Stock-based Compensation (Details) - Stock Options - USD ($)
$ / shares in Units, $ in Thousands
6 Months Ended
Jun. 30, 2025
Dec. 31, 2024
Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period [Abstract]    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number 237,699 347,334
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross 0  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period (106,904)  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period (2,731)  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number 237,669  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price $ 15.16 $ 14.30
Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price 0  
Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price 12.45  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price 11.18  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price $ 15.16  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value $ 9,557 $ 11,775
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value 2,580  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value $ 9,557