Leases - Minimum lease payments (Details) - USD ($)
$ in Thousands
Jun. 30, 2019
Dec. 31, 2018
Minimum lease payments    
2019 (six months ending December 31) $ 5,370  
2020 8,123  
2021 7,245  
2022 6,880  
2023 7,085  
2024 7,296  
Thereafter 20,668  
Payments due 62,667  
Less: imputed interest (8,708)  
Operating lease liability 53,959  
Minimum lease payments for expansion space $ 25,700  
Operating Leases, Future Minimum Payments, Due Thereafter   $ 27,777
Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]    
2019   5,458
2020   7,141
2021   7,168
2022   6,820
2023   7,024
Thereafter   27,777
Total   $ 61,388