Quarterly financial summary - Schedule of Unaudited Quarterly Results (Details) - USD ($) $ / shares in Units, $ in Thousands |
3 Months Ended | 12 Months Ended | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Mar. 31, 2020 |
Dec. 31, 2019 |
Sep. 30, 2019 |
Jun. 30, 2019 |
Mar. 31, 2019 |
Dec. 31, 2018 |
Sep. 30, 2018 |
Jun. 30, 2018 |
Mar. 31, 2018 |
Mar. 31, 2020 |
Dec. 31, 2018 |
Dec. 31, 2017 |
|
| Quarterly Financial Information Disclosure [Abstract] | ||||||||||||
| Net sales | $ 74,712 | $ 80,760 | $ 67,615 | $ 59,764 | $ 66,141 | $ 78,571 | $ 63,889 | $ 59,055 | $ 65,920 | $ 282,851 | $ 267,435 | $ 269,888 |
| Gross profit | 48,064 | 52,520 | 43,348 | 37,191 | 40,491 | 46,919 | 38,969 | 36,645 | 40,208 | 181,123 | 162,741 | 164,725 |
| Net income | $ (341) | $ 8,002 | $ 6,517 | $ 3,706 | $ (17,914) | $ 9,672 | $ 3,915 | $ 1,248 | $ 690 | $ 17,884 | $ 15,525 | $ 33,475 |
| Net income (loss) per share: | ||||||||||||
| Basic (in USD per share) | $ (0.01) | $ 0.16 | $ 0.13 | $ 0.08 | $ (0.37) | $ 0.20 | $ 0.08 | $ 0.03 | $ 0.01 | $ 0.37 | $ 0.33 | $ 0.74 |
| Diluted (in USD per share) | $ (0.01) | $ 0.16 | $ 0.13 | $ 0.07 | $ (0.37) | $ 0.20 | $ 0.08 | $ 0.03 | $ 0.01 | $ 0.35 | $ 0.32 | $ 0.68 |