v3.26.1
Earnings per Share - Schedule of Calculation of Basic and Diluted Earnings per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Numerator    
Net income $ 13,758 $ 11,406
Net loss attributable to non-controlling interest $ 594 $ 413
Denominator    
Weighted average shares used to compute earnings per share — basic 71,458 71,256
Weighted average number of shares used to compute earnings per share — diluted 72,351 72,271
Earnings per share:    
Basic $ 0.2 $ 0.17
Diluted $ 0.2 $ 0.16
Common Class A    
Numerator    
Net income $ 7,939 $ 6,429
Net loss attributable to non-controlling interest 343 233
Net income attributable to common stockholders - basic 8,282 6,662
Reallocation of undistributed earnings 6,070 5,157
Net income attributable to common stockholders — diluted $ 14,352 $ 11,819
Denominator    
Weighted average shares used to compute earnings per share — basic 41,235 40,164
Conversion of Class B to Class A common stock outstanding 30,223 31,092
Effect of dilutive stock options and RSUs 893 1,015
Weighted average number of shares used to compute earnings per share — diluted 72,351 72,271
Earnings per share:    
Basic $ 0.2 $ 0.17
Diluted $ 0.20 $ 0.16
Common Class B    
Numerator    
Net income $ 5,819 $ 4,977
Net loss attributable to non-controlling interest 251 180
Net income attributable to common stockholders - basic 6,070 5,157
Reallocation of undistributed earnings 102 94
Net income attributable to common stockholders — diluted $ 6,172 $ 5,251
Denominator    
Weighted average shares used to compute earnings per share — basic 30,223 31,092
Effect of dilutive stock options and RSUs 893 1,015
Weighted average number of shares used to compute earnings per share — diluted 31,116 32,107
Earnings per share:    
Basic $ 0.20 $ 0.17
Diluted $ 0.2 $ 0.16