Net Income Per Common Share - Reconciliation of the weighted average shares outstanding used to compute basic and diluted net income per common share (Details) - shares |
3 Months Ended | 9 Months Ended | ||
|---|---|---|---|---|
Sep. 30, 2026 |
Sep. 30, 2025 |
Sep. 30, 2026 |
Sep. 30, 2025 |
|
| Earnings Per Share [Abstract] | ||||
| Basic weighted average common shares outstanding (in shares) | 36,085,624 | 35,467,707 | 35,916,406 | 35,398,738 |
| Effect of dilutive securities - equity compensation awards | 812,865 | 797,173 | 801,025 | 552,570 |
| Diluted weighted average common shares outstanding (in shares) | 36,898,489 | 36,264,880 | 36,717,431 | 35,951,308 |