Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($) shares in Thousands, $ in Thousands | Total | Class A Common Stock | Class B Common Stock | Total stockholders' equity | Common stock Class A Common Stock | Common stock Class B Common Stock | Additional paid in capital | Accumulated deficit | Non-controlling interest |
Beginning balance (in shares) at Dec. 31, 2022 | | | | | 23,034 | 14,471 | | | |
Beginning balance at Dec. 31, 2022 | $ (33,624) | | | $ 10,670 | $ 228 | $ 146 | $ 70,866 | $ (60,570) | $ (44,294) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | | | | |
Net income (loss) | (181) | | | (81) | | | | (81) | (100) |
Exercise of stock options (in shares) | | | | | 17 | | | | |
Exercise of stock options | 173 | | | 173 | | | 173 | | |
Equity-based compensation | 6,620 | | | 6,620 | | | 6,620 | | |
Activity under employee stock purchase plan (in shares) | | | | | 4 | | | | |
Activity under employee stock purchase plan | 201 | | | 201 | | | 201 | | |
Redemption of LLC Units (in shares) | | | | | 323 | 323 | | | |
Redemption of LLC Units | 0 | | | (990) | $ 3 | $ (3) | (990) | | 990 |
Deferred tax adjustments related to Tax Receivable Agreement | 828 | | | 699 | | | 699 | | 129 |
Reallocation of Non-controlling interest | 0 | | | (103) | | | | (103) | 103 |
Ending balance (in shares) at Mar. 31, 2023 | | | | | 23,379 | 14,147 | | | |
Ending balance at Mar. 31, 2023 | (25,984) | | | 17,189 | $ 231 | $ 143 | 77,569 | (60,754) | (43,173) |
Beginning balance (in shares) at Dec. 31, 2022 | | | | | 23,034 | 14,471 | | | |
Beginning balance at Dec. 31, 2022 | (33,624) | | | 10,670 | $ 228 | $ 146 | 70,866 | (60,570) | (44,294) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | | | | |
Net income (loss) | 18,272 | | | | | | | | |
Ending balance (in shares) at Sep. 30, 2023 | | | | | 24,446 | 13,415 | | | |
Ending balance at Sep. 30, 2023 | 5,761 | | | 46,584 | $ 244 | $ 134 | 96,752 | (50,546) | (40,823) |
Beginning balance (in shares) at Mar. 31, 2023 | | | | | 23,379 | 14,147 | | | |
Beginning balance at Mar. 31, 2023 | (25,984) | | | 17,189 | $ 231 | $ 143 | 77,569 | (60,754) | (43,173) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | | | | |
Distributions | (5,206) | | | | | | | | (5,206) |
Net income (loss) | 7,180 | | | 3,666 | | | | 3,666 | 3,514 |
Exercise of stock options (in shares) | | | | | 167 | | | | |
Exercise of stock options | 3,518 | | | 3,518 | $ 2 | | 3,516 | | |
Equity-based compensation | 5,872 | | | 5,872 | | | 5,872 | | |
Activity under employee stock purchase plan (in shares) | | | | | 2 | | | | |
Activity under employee stock purchase plan | 144 | | | 144 | | | 144 | | |
Redemption of LLC Units (in shares) | | | | | 352 | 352 | | | |
Redemption of LLC Units | 0 | | | (1,112) | $ 4 | $ (4) | (1,112) | | 1,112 |
Deferred tax adjustments related to Tax Receivable Agreement | 1,027 | | | 870 | | | 870 | | 157 |
Reallocation of Non-controlling interest | 0 | | | (477) | | | | (477) | 477 |
Ending balance (in shares) at Jun. 30, 2023 | | | | | 23,900 | 13,795 | | | |
Ending balance at Jun. 30, 2023 | (13,448) | | | 29,670 | $ 237 | $ 139 | 86,859 | (57,565) | (43,118) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | | | | |
Dividends declared | (3,275) | | | | | | | | (3,275) |
Net income (loss) | 11,273 | | | 6,934 | | | | 6,934 | 4,339 |
Exercise of stock options (in shares) | | | | | 164 | | | | |
Exercise of stock options | 3,366 | | | 3,366 | $ 2 | | 3,364 | | |
Equity-based compensation | 6,459 | | | 6,459 | | | 6,459 | | |
Activity under employee stock purchase plan (in shares) | | | | | 2 | | | | |
Activity under employee stock purchase plan | 135 | | | 135 | | | 135 | | |
Redemption of LLC Units (in shares) | | | | | 380 | 380 | | | |
Redemption of LLC Units | 0 | | | (1,154) | $ 4 | $ (4) | (1,154) | | 1,154 |
Deferred tax adjustments related to Tax Receivable Agreement | 1,252 | | | 1,090 | | | 1,090 | | 162 |
Reallocation of Non-controlling interest | 0 | | | 85 | | | | 85 | (85) |
Ending balance (in shares) at Sep. 30, 2023 | | | | | 24,446 | 13,415 | | | |
Ending balance at Sep. 30, 2023 | 5,761 | | | 46,584 | $ 244 | $ 134 | 96,752 | (50,546) | (40,823) |
Beginning balance (in shares) at Dec. 31, 2023 | | 24,966 | 12,954 | | 24,966 | 12,954 | | | |
Beginning balance at Dec. 31, 2023 | 16,786 | | | 56,552 | $ 250 | $ 130 | 103,228 | (47,056) | (39,766) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | | | | |
Distributions | (42) | | | | | | | | (42) |
Net income (loss) | 1,809 | | | 1,814 | | | | 1,814 | (5) |
Exercise of stock options (in shares) | | | | | 65 | | | | |
Exercise of stock options | 1,863 | | | 1,863 | $ 1 | | 1,862 | | |
Equity-based compensation | 7,357 | | | 7,357 | | | 7,357 | | |
Activity under employee stock purchase plan (in shares) | | | | | 2 | | | | |
Activity under employee stock purchase plan | 146 | | | 146 | | | 146 | | |
Redemption of LLC Units (in shares) | | | | | 196 | 196 | | | |
Redemption of LLC Units | 0 | | | (605) | $ 2 | $ (2) | (605) | | 605 |
Deferred tax adjustments related to Tax Receivable Agreement | 322 | | | 439 | | | 439 | | (117) |
Reallocation of Non-controlling interest | 0 | | | (217) | | | | (217) | 217 |
Ending balance (in shares) at Mar. 31, 2024 | | | | | 25,230 | 12,758 | | | |
Ending balance at Mar. 31, 2024 | 28,240 | | | 67,349 | $ 252 | $ 128 | 112,428 | (45,459) | (39,109) |
Beginning balance (in shares) at Dec. 31, 2023 | | 24,966 | 12,954 | | 24,966 | 12,954 | | | |
Beginning balance at Dec. 31, 2023 | 16,786 | | | 56,552 | $ 250 | $ 130 | 103,228 | (47,056) | (39,766) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | | | | |
Net income (loss) | 25,291 | | | | | | | | |
Redemption of LLC Units (in shares) | | 232 | 232 | | | | | | |
Ending balance (in shares) at Sep. 30, 2024 | | 24,369 | 12,722 | | 24,369 | 12,722 | | | |
Ending balance at Sep. 30, 2024 | 2,245 | | | 58,347 | $ 244 | $ 127 | 89,005 | (31,029) | (56,102) |
Beginning balance (in shares) at Mar. 31, 2024 | | | | | 25,230 | 12,758 | | | |
Beginning balance at Mar. 31, 2024 | 28,240 | | | 67,349 | $ 252 | $ 128 | 112,428 | (45,459) | (39,109) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | | | | |
Distributions | (2,346) | | | | | | | | (2,346) |
Stock Repurchases (in shares) | | | | | (1,045) | | | | |
Share Repurchases | (63,633) | | | (41,963) | $ (10) | | (41,953) | | (21,670) |
Net income (loss) | 10,875 | | | 6,198 | | | | 6,198 | 4,677 |
Exercise of stock options (in shares) | | | | | 7 | | | | |
Exercise of stock options | 245 | | | 245 | | | 245 | | |
Equity-based compensation | 6,632 | | | 6,632 | | | 6,632 | | |
Activity under employee stock purchase plan (in shares) | | | | | 2 | | | | |
Activity under employee stock purchase plan | 128 | | | 128 | | | 128 | | |
Redemption of LLC Units (in shares) | | | | | 10 | 10 | | | |
Redemption of LLC Units | 0 | | | (29) | | | (29) | | 29 |
Deferred tax adjustments related to Tax Receivable Agreement | 126 | | | 295 | | | 295 | | (170) |
Reallocation of Non-controlling interest | 0 | | | 912 | | | | 912 | (912) |
Ending balance (in shares) at Jun. 30, 2024 | | | | | 24,205 | 12,748 | | | |
Ending balance at Jun. 30, 2024 | (19,733) | | | 39,768 | $ 242 | $ 127 | 77,748 | (38,349) | (59,501) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | | | | |
Distributions | (2,084) | | | | | | | | (2,084) |
Share Repurchases | (123) | | | (81) | | | 81 | | (42) |
Net income (loss) | 12,607 | | | 7,559 | | | | 7,559 | 5,048 |
Exercise of stock options (in shares) | | | | | 138 | | | | |
Exercise of stock options | 4,003 | | | 4,003 | $ 1 | | 4,001 | | |
Equity-based compensation | 7,093 | | | 7,093 | | | 7,093 | | |
Activity under employee stock purchase plan (in shares) | | | | | 1 | | | | |
Activity under employee stock purchase plan | 102 | | | 102 | | | 102 | | |
Redemption of LLC Units (in shares) | | 26 | 26 | | 26 | 26 | | | |
Redemption of LLC Units | 0 | | | (114) | | | (114) | | 114 |
Deferred tax adjustments related to Tax Receivable Agreement | 135 | | | 95 | | | 95 | | 40 |
Reallocation of Non-controlling interest | 0 | | | (239) | | | | (239) | 239 |
Ending balance (in shares) at Sep. 30, 2024 | | 24,369 | 12,722 | | 24,369 | 12,722 | | | |
Ending balance at Sep. 30, 2024 | $ 2,245 | | | $ 58,347 | $ 244 | $ 127 | $ 89,005 | $ (31,029) | $ (56,102) |