v3.26.1
Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2026
Mar. 31, 2026
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2026
Jun. 30, 2025
Earnings Per Share [Abstract]            
Net earnings $ 8,981,697 $ 7,001,426 $ 8,370,755 $ 6,413,735 $ 15,983,123 $ 14,784,490
Basic weighted-average shares outstanding [1] 26,040,005   26,007,334   26,049,116 25,973,466
Employee stock options 851,949   799,533   789,127 933,970
Unvested restricted stock units 735     405
Diluted weighted-average shares outstanding [1] 26,892,689   26,806,867   26,838,648 26,907,436
Basic net earnings per share [1] $ 0.34   $ 0.32 [2]   $ 0.61 $ 0.57 [2]
Diluted net earnings per share [1] $ 0.33   $ 0.31 [2]   $ 0.60 $ 0.55 [2]
[1] Net earnings per share have been adjusted retroactively for the effect of annual stock dividends. The weighted-average shares outstanding includes the weighted-average Class A common shares and the weighted-average Class C common shares determined on an equivalent Class A common stock basis. Net earnings per common share represent net earnings per equivalent Class A common share.
[2] Adjusted retroactively for the effect of annual stock dividends