CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN REDEEMABLE NON-CONTROLLING INTERESTS AND STOCKHOLDERS’ EQUITY - USD ($) $ in Thousands |
Total |
Class A Common Stock |
Class B Common Stock |
Common Stock
Class A Common Stock
|
Common Stock
Class B Common Stock
|
Additional Paid-in Capital |
Retained Earnings |
Accumulated Other Comprehensive Loss |
Treasury Stock |
Non-controlling Interests (“NCI”) |
Redeemable non-controlling interests, beginning balance at Dec. 31, 2022 |
$ 46,623
|
|
|
|
|
|
|
|
|
|
Redeemable Non-controlling Interests (“RNCI”) |
|
|
|
|
|
|
|
|
|
|
Distributions to RNCI |
(494)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
81
|
|
|
|
|
|
|
|
|
|
Investment fund call option exercise |
195
|
|
|
|
|
|
|
|
|
|
Net income (loss) |
870
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Sep. 30, 2023 |
47,275
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Dec. 31, 2022 |
|
|
|
33,948,362
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Dec. 31, 2022 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Dec. 31, 2022 |
873,031
|
|
|
$ 3
|
$ 2
|
$ 306,314
|
$ 533,549
|
$ (4,051)
|
$ (11,788)
|
$ 49,002
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Exercise of stock options & share sales to cover taxes, net (in shares) |
|
|
|
238,750
|
|
|
|
|
|
|
Exercise of stock options & share sales to cover taxes, net |
2,367
|
|
|
|
|
2,367
|
|
|
|
|
Stock-based compensation expense |
12,318
|
|
|
|
|
12,318
|
|
|
|
|
Employee stock purchase plan (in shares) |
|
|
|
24,833
|
|
|
|
|
|
|
Employee stock purchase plan |
1,017
|
|
|
|
|
1,017
|
|
|
|
|
Restricted stock units released (in shares) |
|
|
|
22,601
|
|
|
|
|
|
|
Unrealized (loss) gain from interest rate hedges, net of tax |
716
|
|
|
|
|
|
|
716
|
|
|
Foreign currency translation adjustment |
(425)
|
|
|
|
|
|
|
(400)
|
|
(25)
|
Accretion of tax equity financing fees |
(81)
|
|
|
|
|
|
(81)
|
|
|
|
Investment fund call option exercise |
(195)
|
|
|
|
|
(195)
|
|
|
|
|
Contributions from NCI |
957
|
|
|
|
|
|
|
|
|
957
|
Distributions to NCI |
(20,521)
|
|
|
|
|
|
|
|
|
(20,521)
|
Net income (loss) |
29,942
|
|
|
|
|
|
28,735
|
|
|
1,207
|
Ending balance (in shares) at Sep. 30, 2023 |
|
|
|
34,234,546
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Sep. 30, 2023 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Sep. 30, 2023 |
899,126
|
|
|
$ 3
|
$ 2
|
321,821
|
562,203
|
(3,735)
|
$ (11,788)
|
30,620
|
Redeemable non-controlling interests, beginning balance at Jun. 30, 2023 |
47,994
|
|
|
|
|
|
|
|
|
|
Redeemable Non-controlling Interests (“RNCI”) |
|
|
|
|
|
|
|
|
|
|
Distributions to RNCI |
(159)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
26
|
|
|
|
|
|
|
|
|
|
Net income (loss) |
(586)
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Sep. 30, 2023 |
47,275
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Jun. 30, 2023 |
|
|
|
34,200,610
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Jun. 30, 2023 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Jun. 30, 2023 |
873,983
|
|
|
$ 3
|
$ 2
|
317,228
|
540,964
|
(2,884)
|
$ (11,788)
|
30,458
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Exercise of stock options & share sales to cover taxes, net (in shares) |
|
|
|
22,150
|
|
|
|
|
|
|
Exercise of stock options & share sales to cover taxes, net |
274
|
|
|
|
|
274
|
|
|
|
|
Stock-based compensation expense |
4,319
|
|
|
|
|
4,319
|
|
|
|
|
Restricted stock units released (in shares) |
|
|
|
11,786
|
|
|
|
|
|
|
Unrealized (loss) gain from interest rate hedges, net of tax |
764
|
|
|
|
|
|
|
764
|
|
|
Foreign currency translation adjustment |
(1,651)
|
|
|
|
|
|
|
(1,615)
|
|
(36)
|
Accretion of tax equity financing fees |
(26)
|
|
|
|
|
|
(26)
|
|
|
|
Contributions from NCI |
35
|
|
|
|
|
|
|
|
|
35
|
Net income (loss) |
21,428
|
|
|
|
|
|
21,265
|
|
|
163
|
Ending balance (in shares) at Sep. 30, 2023 |
|
|
|
34,234,546
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Sep. 30, 2023 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Sep. 30, 2023 |
899,126
|
|
|
$ 3
|
$ 2
|
321,821
|
562,203
|
(3,735)
|
$ (11,788)
|
30,620
|
Redeemable non-controlling interests, beginning balance at Dec. 31, 2023 |
46,865
|
|
|
|
|
|
|
|
|
|
Redeemable Non-controlling Interests (“RNCI”) |
|
|
|
|
|
|
|
|
|
|
Distributions to RNCI |
(418)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
80
|
|
|
|
|
|
|
|
|
|
Net income (loss) |
(3,766)
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Sep. 30, 2024 |
$ 42,761
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Dec. 31, 2023 |
|
34,277,195
|
18,000,000
|
34,277,195
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Dec. 31, 2023 |
2,101,795
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Dec. 31, 2023 |
$ 925,886
|
|
|
$ 3
|
$ 2
|
320,892
|
595,911
|
(3,045)
|
$ (11,788)
|
23,911
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Exercise of stock options & share sales to cover taxes, net (in shares) |
|
|
|
70,089
|
|
|
|
|
|
|
Exercise of stock options & share sales to cover taxes, net |
909
|
|
|
|
|
909
|
|
|
|
|
Stock-based compensation expense |
10,368
|
|
|
|
|
10,368
|
|
|
|
|
Employee stock purchase plan (in shares) |
|
|
|
32,841
|
|
|
|
|
|
|
Employee stock purchase plan |
990
|
|
|
|
|
990
|
|
|
|
|
Restricted stock units released (in shares) |
|
|
|
62,626
|
|
|
|
|
40
|
|
Unrealized (loss) gain from interest rate hedges, net of tax |
(446)
|
|
|
|
|
|
|
(446)
|
|
|
Foreign currency translation adjustment |
652
|
|
|
|
|
|
|
688
|
|
(36)
|
Accretion of tax equity financing fees |
(80)
|
|
|
|
|
|
(80)
|
|
|
|
Contributions from NCI |
33,789
|
|
|
|
|
3,040
|
|
|
|
30,749
|
Distributions to NCI |
(1,367)
|
|
|
|
|
|
|
|
|
(1,367)
|
Purchase of shares from NCI |
(23,760)
|
|
|
|
|
226
|
|
|
|
(23,986)
|
Net income (loss) |
$ 19,796
|
|
|
|
|
|
19,672
|
|
|
124
|
Ending balance (in shares) at Sep. 30, 2024 |
|
34,442,751
|
18,000,000
|
34,442,751
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Sep. 30, 2024 |
2,101,835
|
|
|
|
|
|
|
|
2,101,835
|
|
Ending balance at Sep. 30, 2024 |
$ 966,737
|
|
|
$ 3
|
$ 2
|
336,425
|
615,503
|
(2,803)
|
$ (11,788)
|
29,395
|
Redeemable non-controlling interests, beginning balance at Jun. 30, 2024 |
43,777
|
|
|
|
|
|
|
|
|
|
Redeemable Non-controlling Interests (“RNCI”) |
|
|
|
|
|
|
|
|
|
|
Distributions to RNCI |
(130)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
26
|
|
|
|
|
|
|
|
|
|
Net income (loss) |
(912)
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Sep. 30, 2024 |
42,761
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Jun. 30, 2024 |
|
|
|
34,402,515
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Jun. 30, 2024 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Jun. 30, 2024 |
941,192
|
|
|
$ 3
|
$ 2
|
332,356
|
597,930
|
(3,800)
|
$ (11,788)
|
26,489
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Exercise of stock options & share sales to cover taxes, net (in shares) |
|
|
|
7,500
|
|
|
|
|
|
|
Exercise of stock options & share sales to cover taxes, net |
405
|
|
|
|
|
405
|
|
|
|
|
Stock-based compensation expense |
3,664
|
|
|
|
|
3,664
|
|
|
|
|
Restricted stock units released (in shares) |
|
|
|
32,736
|
|
|
|
|
40
|
|
Unrealized (loss) gain from interest rate hedges, net of tax |
(1,060)
|
|
|
|
|
|
|
(1,060)
|
|
|
Foreign currency translation adjustment |
2,003
|
|
|
|
|
|
|
2,057
|
|
(54)
|
Accretion of tax equity financing fees |
(26)
|
|
|
|
|
|
(26)
|
|
|
|
Contributions from NCI |
2,997
|
|
|
|
|
|
|
|
|
2,997
|
Distributions to NCI |
(364)
|
|
|
|
|
|
|
|
|
(364)
|
Net income (loss) |
$ 17,926
|
|
|
|
|
|
17,599
|
|
|
327
|
Ending balance (in shares) at Sep. 30, 2024 |
|
34,442,751
|
18,000,000
|
34,442,751
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Sep. 30, 2024 |
2,101,835
|
|
|
|
|
|
|
|
2,101,835
|
|
Ending balance at Sep. 30, 2024 |
$ 966,737
|
|
|
$ 3
|
$ 2
|
$ 336,425
|
$ 615,503
|
$ (2,803)
|
$ (11,788)
|
$ 29,395
|