v3.25.2
Net Income Per Share (Tables)
6 Months Ended
Jun. 30, 2025
Earnings Per Share [Abstract]  
Schedule of Weighted Average Shares Outstanding Basic and Diluted
Basic net income per share has been computed by dividing net income by the basic number of weighted average shares outstanding. Diluted net income per share has been computed by dividing net income by the diluted number of weighted average shares outstanding using the treasury stock method. The share effect is as follows:

 For the Three Months Ended 
June 30,
For the Six Months Ended 
June 30,
 2025202420252024
Weighted average shares outstanding:    
Common shares11,464,624 12,118,832 11,721,700 12,218,419 
Vested restricted stock units109,394 163,342 109,394 163,237 
Basic number of weighted average shares outstanding11,574,018 12,282,174 11,831,094 12,381,656 
Dilutive effect of restricted stock units and stock options197,507 — 192,809 151,590 
Dilutive number of weighted average shares outstanding11,771,525 12,282,174 12,023,903 12,533,246 
Schedule of stock awards excluded from the computation of diluted net income per share
The following outstanding stock awards were excluded from the computation of diluted net income per share because their inclusion would have been anti-dilutive:
For the Three Months Ended 
June 30,
For the Six Months Ended 
June 30,
2025202420252024
Stock options47,000 195,324 47,000 67,750 
Restricted stock units 15,134 22,222 12,733 2,173 
Total62,134 217,546 59,733 69,923