XML 82 R72.htm IDEA: XBRL DOCUMENT v3.23.3
Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Sep. 30, 2023
Sep. 30, 2022
Earnings Per Share [Abstract]                
Net earnings (loss) $ 4,041,293 $ 6,352,706 $ 1,240,172 $ (2,353,185) $ 3,574,449 $ 3,228,718 $ 11,634,171 $ 4,449,982
Basic weighted-average shares outstanding [1] 22,063,495     21,976,292     22,066,243 22,213,846
Employee stock options 768,231     719,704     634,099 822,367
Diluted weighted-average shares outstanding [1] 22,831,726     22,695,996     22,700,342 23,036,213
Basic net earnings (loss) per share [1] $ 0.18     $ 0.11     $ 0.53 $ 0.20
Diluted net earnings (loss) per share [1] $ 0.18     $ 0.10     $ 0.51 $ 0.19
[1] Net earnings per share amounts 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.