v3.24.0.1
Revenue Recognition - Contract Balances (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenue from Contract with Customer [Abstract]      
Billed accounts receivable $ 102,232 $ 48,571 $ 26,700
Retainage 4,886 2,004 4,800
Unbilled receivables 40,136 16,713 $ 13,500
Deferred revenue $ 22,228 $ 23,259