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 |
Redeemable non-controlling interests, beginning balance at Dec. 31, 2021 |
$ 46,182
|
|
|
|
|
|
|
|
|
|
Increase (Decrease) in Temporary Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Distributions to redeemable non-controlling interests |
(651)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
54
|
|
|
|
|
|
|
|
|
|
Investment fund call option exercise |
(238)
|
|
|
|
|
|
|
|
|
|
Net income |
2,571
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Jun. 30, 2022 |
47,918
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Dec. 31, 2021 |
|
|
|
33,716,309
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Dec. 31, 2021 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Dec. 31, 2021 |
704,264
|
|
|
$ 3
|
$ 2
|
$ 283,982
|
$ 438,732
|
$ (6,667)
|
$ (11,788)
|
$ 0
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Exercise of stock options (in shares) |
|
|
|
100,588
|
|
|
|
|
|
|
Exercise of stock options |
1,866
|
|
|
|
|
1,866
|
|
|
|
|
Stock-based compensation expense |
7,206
|
|
|
|
|
7,206
|
|
|
|
|
Employee stock purchase plan (in shares) |
|
|
|
16,996
|
|
|
|
|
|
|
Employee stock purchase plan |
948
|
|
|
|
|
948
|
|
|
|
|
Unrealized gain (loss) from interest rate hedges, net |
4,276
|
|
|
|
|
|
|
4,276
|
|
|
Foreign currency translation adjustment |
(1,963)
|
|
|
|
|
|
|
(1,963)
|
|
|
Accretion of tax equity financing fees |
(54)
|
|
|
|
|
|
(54)
|
|
|
|
Investment fund call option exercise |
238
|
|
|
|
|
238
|
|
|
|
|
Contributions from non-controlling interests |
15,186
|
|
|
|
|
|
|
|
|
15,186
|
Net income |
49,600
|
|
|
|
|
|
49,600
|
|
|
|
Ending balance (in shares) at Jun. 30, 2022 |
|
|
|
33,833,893
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Jun. 30, 2022 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Jun. 30, 2022 |
781,567
|
|
|
$ 3
|
$ 2
|
294,240
|
488,278
|
(4,354)
|
$ (11,788)
|
15,186
|
Redeemable non-controlling interests, beginning balance at Mar. 31, 2022 |
47,438
|
|
|
|
|
|
|
|
|
|
Increase (Decrease) in Temporary Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Distributions to redeemable non-controlling interests |
(204)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
27
|
|
|
|
|
|
|
|
|
|
Net income |
657
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Jun. 30, 2022 |
47,918
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Mar. 31, 2022 |
|
|
|
33,808,964
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Mar. 31, 2022 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Mar. 31, 2022 |
736,211
|
|
|
$ 3
|
$ 2
|
289,459
|
456,089
|
(3,889)
|
$ (11,788)
|
6,335
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Exercise of stock options (in shares) |
|
|
|
7,933
|
|
|
|
|
|
|
Exercise of stock options |
158
|
|
|
|
|
158
|
|
|
|
|
Stock-based compensation expense |
3,675
|
|
|
|
|
3,675
|
|
|
|
|
Employee stock purchase plan |
948
|
|
|
|
|
948
|
|
|
|
|
Unrealized gain (loss) from interest rate hedges, net |
1,565
|
|
|
|
|
|
|
1,565
|
|
|
Foreign currency translation adjustment |
(2,030)
|
|
|
|
|
|
|
(2,030)
|
|
|
Accretion of tax equity financing fees |
(27)
|
|
|
|
|
|
(27)
|
|
|
|
Contributions from non-controlling interests |
8,851
|
|
|
|
|
|
|
|
|
8,851
|
Net income |
32,216
|
|
|
|
|
|
32,216
|
|
|
|
Ending balance (in shares) at Jun. 30, 2022 |
|
|
|
33,833,893
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Jun. 30, 2022 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Jun. 30, 2022 |
781,567
|
|
|
$ 3
|
$ 2
|
294,240
|
488,278
|
(4,354)
|
$ (11,788)
|
15,186
|
Redeemable non-controlling interests, beginning balance at Dec. 31, 2022 |
46,623
|
|
|
|
|
|
|
|
|
|
Increase (Decrease) in Temporary Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Distributions to redeemable non-controlling interests |
(335)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
55
|
|
|
|
|
|
|
|
|
|
Investment fund call option exercise |
195
|
|
|
|
|
|
|
|
|
|
Net income |
1,456
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Jun. 30, 2023 |
$ 47,994
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Dec. 31, 2022 |
|
33,948,362
|
18,000,000
|
33,948,362
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Dec. 31, 2022 |
2,101,795
|
|
|
|
|
|
|
|
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 (in shares) |
|
|
|
216,600
|
|
|
|
|
|
|
Exercise of stock options |
2,093
|
|
|
|
|
2,093
|
|
|
|
|
Stock-based compensation expense |
7,999
|
|
|
|
|
7,999
|
|
|
|
|
Employee stock purchase plan (in shares) |
|
|
|
24,833
|
|
|
|
|
|
|
Employee stock purchase plan |
1,017
|
|
|
|
|
1,017
|
|
|
|
|
Restricted stock units released (in shares) |
|
|
|
10,815
|
|
|
|
|
|
|
Unrealized gain (loss) from interest rate hedges, net |
(48)
|
|
|
|
|
|
|
(48)
|
|
|
Foreign currency translation adjustment |
1,226
|
|
|
|
|
|
|
1,215
|
|
11
|
Accretion of tax equity financing fees |
(55)
|
|
|
|
|
|
(55)
|
|
|
|
Investment fund call option exercise |
(195)
|
|
|
|
|
(195)
|
|
|
|
|
Contributions from non-controlling interests |
922
|
|
|
|
|
|
|
|
|
922
|
Distributions to non-controlling interest |
(20,521)
|
|
|
|
|
|
|
|
|
(20,521)
|
Net income |
$ 8,514
|
|
|
|
|
|
7,470
|
|
|
1,044
|
Ending balance (in shares) at Jun. 30, 2023 |
|
34,200,610
|
18,000,000
|
34,200,610
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Jun. 30, 2023 |
2,101,795
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Jun. 30, 2023 |
$ 873,983
|
|
|
$ 3
|
$ 2
|
317,228
|
540,964
|
(2,884)
|
$ (11,788)
|
30,458
|
Redeemable non-controlling interests, beginning balance at Mar. 31, 2023 |
46,700
|
|
|
|
|
|
|
|
|
|
Increase (Decrease) in Temporary Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Distributions to redeemable non-controlling interests |
(157)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
28
|
|
|
|
|
|
|
|
|
|
Net income |
1,423
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Jun. 30, 2023 |
47,994
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Mar. 31, 2023 |
|
|
|
34,030,362
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Mar. 31, 2023 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Mar. 31, 2023 |
894,772
|
|
|
$ 3
|
$ 2
|
310,726
|
534,624
|
(4,645)
|
$ (11,788)
|
65,850
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Exercise of stock options (in shares) |
|
|
|
134,600
|
|
|
|
|
|
|
Exercise of stock options |
1,523
|
|
|
|
|
1,523
|
|
|
|
|
Stock-based compensation expense |
3,962
|
|
|
|
|
3,962
|
|
|
|
|
Employee stock purchase plan (in shares) |
|
|
|
24,833
|
|
|
|
|
|
|
Employee stock purchase plan |
1,017
|
|
|
|
|
1,017
|
|
|
|
|
Restricted stock units released (in shares) |
|
|
|
10,815
|
|
|
|
|
|
|
Unrealized gain (loss) from interest rate hedges, net |
820
|
|
|
|
|
|
|
820
|
|
|
Foreign currency translation adjustment |
943
|
|
|
|
|
|
|
941
|
|
2
|
Accretion of tax equity financing fees |
(28)
|
|
|
|
|
|
(28)
|
|
|
|
Contributions from non-controlling interests |
812
|
|
|
|
|
|
|
|
|
812
|
Distributions to non-controlling interest |
(36,828)
|
|
|
|
|
|
|
|
|
(36,828)
|
Net income |
$ 6,990
|
|
|
|
|
|
6,368
|
|
|
622
|
Ending balance (in shares) at Jun. 30, 2023 |
|
34,200,610
|
18,000,000
|
34,200,610
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Jun. 30, 2023 |
2,101,795
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Jun. 30, 2023 |
$ 873,983
|
|
|
$ 3
|
$ 2
|
$ 317,228
|
$ 540,964
|
$ (2,884)
|
$ (11,788)
|
$ 30,458
|