XML 42 R29.htm IDEA: XBRL DOCUMENT v3.24.2.u1
Net Income (Loss) per Common Share -Schedule of Computation Of Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2024
Jun. 30, 2023
Earnings Per Share [Abstract]            
Net income (loss) $ 4,540 $ 5,268 $ (383) $ 2,659 $ 9,808 $ 2,276
Basic - weighted-average shares outstanding (in shares) 25,313,036   26,210,478   25,473,937 26,414,467
Effect of dilutive securities:            
Employee stock options and other (in shares) 59,936   0   99,407 30,960
Diluted - weighted-average shares outstanding (in shares) 25,372,972   26,210,478   25,573,344 26,445,427
Net income (loss) per share:            
Basic (in dollars per share) $ 0.18   $ (0.01)   $ 0.39 $ 0.09
Diluted (in dollars per share) $ 0.18   $ (0.01)   $ 0.38 $ 0.09
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]            
Anti-dilutive options excluded from calculation of diluted weighted average shares outstanding (in shares) 452,239   380,848   371,313 407,119
Employee Stock Option and Other            
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]            
Anti-dilutive options excluded from calculation of diluted weighted average shares outstanding (in shares)     14,084