v3.25.2
Share-Based Compensation - Stock Option and Warrant Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
6 Months Ended
Jun. 30, 2025
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]  
Number of Shares Outstanding, Ending Balance 69,550
Stock options and warrants [Member]  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]  
Number of Shares Outstanding, Beginning Balance 135,510
Number of Shares, Granted 0
Stock option exercises and other, shares (65,960)
Number of Shares, Forfeited 0
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]  
Weighed-Average Exercise Price, Beginning Balance $ 61.08
Weighted-Average Exercise Price, Granted 0
Weighted-Average Exercise Price, Exercised 59.49
Weighted-Average Exercise Price, Forfeited 0
Weighed-Average Exercise Price, Ending Balance $ 62.58
Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]  
Number of Shares Exercisable, Ending Balance 69,550
Weighted-Average Exercise Price, Exercisable $ 62.58
Weighted-Average Remaining Contractual Term, Options Exercisable 2 years 8 months 8 days
Aggregate Intrinsic Value, Exercisable, Ending Balance $ 21,727
Weighted-Average Remaining Contractual Term, Options Outstanding 2 years 8 months 8 days
Aggregate Intrinsic Value, Outstanding, Ending Balance $ 21,727
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest [Abstract]  
Number of Shares Exercisable and expect to vest 69,550
Weighed-Average Exercise Price, Excercisable and expect to vest $ 62.58
Weighted-Average Remaining Contractual Term, Exercisable and expected to vest 2 years 8 months 8 days
Aggregate Intrinsic Value, Exercisable and expected to vest, Ending Balance $ 21,727