Revenue Recognition (Contract Balances) (Details) - USD ($) $ in Thousands |
12 Months Ended | ||
|---|---|---|---|
Dec. 31, 2018 |
Dec. 31, 2017 |
Dec. 31, 2016 |
|
| Revenue Recognition | |||
| Accounts receivable, net | $ 33,016 | $ 29,925 | |
| Allowance for Doubtful Accounts Receivable [Roll Forward] | |||
| Balance at the beginning of the period | 1,147 | 981 | $ 824 |
| Provision | 839 | 815 | 345 |
| Write-offs | (457) | (649) | (188) |
| Balance at the end of the period | $ 1,529 | 1,147 | 981 |
| Payment term, general requirement for payment | 30 days | ||
| Balance at the beginning of the period | $ 7,681 | 6,390 | 5,164 |
| Deferred revenue | 8,640 | 6,320 | 4,979 |
| Recognition of deferred revenue | (7,622) | (5,029) | (3,753) |
| Balance at the end of the period | $ 8,699 | $ 7,681 | $ 6,390 |