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 Interest |
Redeemable non-controlling interests, beginning balance at Dec. 31, 2020 |
$ 38,850
|
|
|
|
|
|
|
|
|
|
Increase (Decrease) in Temporary Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Distributions to redeemable non-controlling interests |
(648)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
61
|
|
|
|
|
|
|
|
|
|
Net income |
5,488
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Jun. 30, 2021 |
46,003
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Dec. 31, 2020 |
|
|
|
30,224,654
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Dec. 31, 2020 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Dec. 31, 2020 |
492,813
|
|
|
$ 3
|
$ 2
|
$ 145,496
|
$ 368,390
|
$ (9,290)
|
$ (11,788)
|
$ 0
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Equity offering cost adjustment (in shares) |
|
|
|
2,875,000
|
|
|
|
|
|
|
Equity offering cost adjustment |
120,081
|
|
|
|
|
120,081
|
|
|
|
|
Exercise of stock options (in shares) |
|
|
|
267,380
|
|
|
|
|
|
|
Exercise of stock options |
2,611
|
|
|
|
|
2,611
|
|
|
|
|
Stock-based compensation expense |
2,115
|
|
|
|
|
2,115
|
|
|
|
|
Employee stock purchase plan (in shares) |
|
|
|
15,297
|
|
|
|
|
|
|
Employee stock purchase plan |
652
|
|
|
|
|
652
|
|
|
|
|
Unrealized gain (loss) from interest rate hedges, net |
1,645
|
|
|
|
|
|
|
1,645
|
|
|
Foreign currency translation adjustment |
891
|
|
|
|
|
|
|
891
|
|
|
Accretion of tax equity financing fees |
(61)
|
|
|
|
|
|
(61)
|
|
|
|
Contributions from non-controlling interest |
2,252
|
|
|
|
|
|
|
|
|
|
Net income |
24,829
|
|
|
|
|
|
24,829
|
|
|
|
Ending balance (in shares) at Jun. 30, 2021 |
|
|
|
33,382,331
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Jun. 30, 2021 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Jun. 30, 2021 |
645,576
|
|
|
$ 3
|
$ 2
|
270,955
|
393,158
|
(6,754)
|
$ (11,788)
|
0
|
Redeemable non-controlling interests, beginning balance at Mar. 31, 2021 |
39,668
|
|
|
|
|
|
|
|
|
|
Increase (Decrease) in Temporary Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Distributions to redeemable non-controlling interests |
(195)
|
|
|
|
|
|
|
|
|
|
Accretion of tax equity financing fees |
30
|
|
|
|
|
|
|
|
|
|
Net income |
4,231
|
|
|
|
|
|
|
|
|
|
Redeemable non-controlling interests, ending balance at Jun. 30, 2021 |
46,003
|
|
|
|
|
|
|
|
|
|
Beginning balance (in shares) at Mar. 31, 2021 |
|
|
|
33,265,925
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Mar. 31, 2021 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Beginning balance at Mar. 31, 2021 |
628,855
|
|
|
$ 3
|
$ 2
|
267,864
|
379,533
|
(6,759)
|
$ (11,788)
|
0
|
Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
|
|
|
|
Equity offering cost adjustment |
(135)
|
|
|
|
|
(135)
|
|
|
|
|
Exercise of stock options (in shares) |
|
|
|
101,109
|
|
|
|
|
|
|
Exercise of stock options |
1,225
|
|
|
|
|
1,225
|
|
|
|
|
Stock-based compensation expense |
1,349
|
|
|
|
|
1,349
|
|
|
|
|
Employee stock purchase plan (in shares) |
|
|
|
15,297
|
|
|
|
|
|
|
Employee stock purchase plan |
652
|
|
|
|
|
652
|
|
|
|
|
Unrealized gain (loss) from interest rate hedges, net |
(472)
|
|
|
|
|
|
|
(472)
|
|
|
Foreign currency translation adjustment |
477
|
|
|
|
|
|
|
477
|
|
|
Accretion of tax equity financing fees |
(30)
|
|
|
|
|
|
(30)
|
|
|
|
Contributions from non-controlling interest |
2,269
|
|
|
|
|
|
|
|
|
|
Net income |
13,655
|
|
|
|
|
|
13,655
|
|
|
|
Ending balance (in shares) at Jun. 30, 2021 |
|
|
|
33,382,331
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Jun. 30, 2021 |
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Jun. 30, 2021 |
645,576
|
|
|
$ 3
|
$ 2
|
270,955
|
393,158
|
(6,754)
|
$ (11,788)
|
0
|
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
|
33,716,309
|
18,000,000
|
|
|
|
|
|
Treasury stock, beginning balance (in shares) at Dec. 31, 2021 |
2,101,795
|
|
|
|
|
|
|
|
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 interest |
15,186
|
|
|
|
|
|
|
|
|
15,186
|
Net income |
$ 49,600
|
|
|
|
|
|
49,600
|
|
|
|
Ending balance (in shares) at Jun. 30, 2022 |
|
33,833,893
|
18,000,000
|
33,833,893
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Jun. 30, 2022 |
2,101,795
|
|
|
|
|
|
|
|
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 (in shares) |
|
|
|
16,996
|
|
|
|
|
|
|
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 interest |
8,851
|
|
|
|
|
|
|
|
|
8,851
|
Net income |
$ 32,216
|
|
|
|
|
|
32,216
|
|
|
|
Ending balance (in shares) at Jun. 30, 2022 |
|
33,833,893
|
18,000,000
|
33,833,893
|
18,000,000
|
|
|
|
|
|
Treasury stock, ending balance (in shares) at Jun. 30, 2022 |
2,101,795
|
|
|
|
|
|
|
|
2,101,795
|
|
Ending balance at Jun. 30, 2022 |
$ 781,567
|
|
|
$ 3
|
$ 2
|
$ 294,240
|
$ 488,278
|
$ (4,354)
|
$ (11,788)
|
$ 15,186
|