Quarterly report pursuant to Section 13 or 15(d)

Revenue from Contracts with Customers - Disaggregation of Revenue (Details)

v3.24.1.u1
Revenue from Contracts with Customers - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue [Line Items]    
Revenues $ 298,406 $ 271,042
Percentage of revenue recognized over time 94.00% 93.00%
United States    
Disaggregation of Revenue [Line Items]    
Revenues $ 239,099 $ 233,084
Canada    
Disaggregation of Revenue [Line Items]    
Revenues 15,180 17,234
Europe    
Disaggregation of Revenue [Line Items]    
Revenues 44,127 20,724
Project revenue    
Disaggregation of Revenue [Line Items]    
Revenues 204,284 183,230
O&M revenue    
Disaggregation of Revenue [Line Items]    
Revenues 25,335 22,258
Energy assets    
Disaggregation of Revenue [Line Items]    
Revenues 43,154 40,772
Other    
Disaggregation of Revenue [Line Items]    
Revenues 25,633 24,782
North America Regions    
Disaggregation of Revenue [Line Items]    
Revenues 138,285 140,542
North America Regions | Project revenue    
Disaggregation of Revenue [Line Items]    
Revenues 116,211 119,231
North America Regions | O&M revenue    
Disaggregation of Revenue [Line Items]    
Revenues 6,933 5,539
North America Regions | Energy assets    
Disaggregation of Revenue [Line Items]    
Revenues 13,754 14,407
North America Regions | Other    
Disaggregation of Revenue [Line Items]    
Revenues 1,387 1,365
U.S. Federal    
Disaggregation of Revenue [Line Items]    
Revenues 60,890 59,556
U.S. Federal | Project revenue    
Disaggregation of Revenue [Line Items]    
Revenues 43,479 45,549
U.S. Federal | O&M revenue    
Disaggregation of Revenue [Line Items]    
Revenues 15,278 12,700
U.S. Federal | Energy assets    
Disaggregation of Revenue [Line Items]    
Revenues 1,929 1,076
U.S. Federal | Other    
Disaggregation of Revenue [Line Items]    
Revenues 204 231
Europe    
Disaggregation of Revenue [Line Items]    
Revenues 44,122 19,096
Europe | Project revenue    
Disaggregation of Revenue [Line Items]    
Revenues 41,424 17,200
Europe | O&M revenue    
Disaggregation of Revenue [Line Items]    
Revenues 747 333
Europe | Energy assets    
Disaggregation of Revenue [Line Items]    
Revenues 171 519
Europe | Other    
Disaggregation of Revenue [Line Items]    
Revenues 1,780 1,044
Alternative Fuels    
Disaggregation of Revenue [Line Items]    
Revenues 32,859 28,339
Alternative Fuels | Project revenue    
Disaggregation of Revenue [Line Items]    
Revenues 3,163 0
Alternative Fuels | O&M revenue    
Disaggregation of Revenue [Line Items]    
Revenues 2,377 3,686
Alternative Fuels | Energy assets    
Disaggregation of Revenue [Line Items]    
Revenues 27,300 24,653
Alternative Fuels | Other    
Disaggregation of Revenue [Line Items]    
Revenues 19 0
All Other    
Disaggregation of Revenue [Line Items]    
Revenues 22,250 23,509
All Other | Project revenue    
Disaggregation of Revenue [Line Items]    
Revenues 7 1,250
All Other | O&M revenue    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
All Other | Energy assets    
Disaggregation of Revenue [Line Items]    
Revenues 0 117
All Other | Other    
Disaggregation of Revenue [Line Items]    
Revenues $ 22,243 $ 22,142