XML 40 R29.htm IDEA: XBRL DOCUMENT v3.25.3
Net Income per Common Share - Schedule of Computation Of Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2025
Jun. 30, 2025
Mar. 31, 2025
Sep. 30, 2024
Jun. 30, 2024
Mar. 31, 2024
Sep. 30, 2025
Sep. 30, 2024
Earnings Per Share [Abstract]                
Net income $ 7,216 $ 4,427 $ 3,599 $ 7,189 $ 4,540 $ 5,268 $ 15,242 $ 16,997
Basic - weighted-average shares outstanding (in shares) 23,889,157     24,980,536     23,974,054 25,304,985
Effect of dilutive securities:                
Employee stock options and other (in shares) 301,882     41,949     275,615 77,295
Diluted - weighted-average shares outstanding (in shares) 24,191,039     25,022,485     24,249,669 25,382,280
Net income per share:                
Basic (in dollars per share) $ 0.30     $ 0.29     $ 0.64 $ 0.67
Diluted (in dollars per share) $ 0.30     $ 0.29     $ 0.63 $ 0.67