Annual report pursuant to Section 13 and 15(d)

Quarterly Summary of Information (Unaudited) - Summary of Unaudited Quarterly Statements of Income Data (Details)

v3.10.0.1
Quarterly Summary of Information (Unaudited) - Summary of Unaudited Quarterly Statements of Income Data (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2018
Sep. 30, 2018
Jun. 30, 2018
Mar. 31, 2018
Dec. 31, 2017
Sep. 30, 2017
Jun. 30, 2017
Mar. 31, 2017
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
Selected Quarterly Financial Information [Abstract]                      
Total revenue $ 86,531 $ 95,291 $ 97,238 $ 79,051 $ 63,787 $ 69,030 $ 64,121 $ 52,500 $ 358,111 $ 249,438 $ 202,829
Gross profit 43,570 48,813 48,470 37,727 30,756 33,170 31,567 25,744 178,580 121,237 97,310
Income before provision (benefit) for income taxes 5,823 11,299 13,646 9,687 5,794 8,817 9,166 5,879 40,455 29,656 22,725
Provision (benefit) for income taxes (4,222) (5,133) (964) (1,071) 6,400 1,479 828 (53) (11,390) 8,654 2,206
Net income $ 10,045 $ 16,432 $ 14,610 $ 10,758 $ (606) $ 7,338 $ 8,338 $ 5,932 $ 51,845 $ 21,002 $ 20,519
Net income (loss) per share attributable to common stockholders                      
Net income (loss) per share - basic common stock $ 0.47 $ 0.77 $ 0.69 $ 0.51 $ (0.03) $ 0.35 $ 0.40 $ 0.29 $ 2.44 $ 1.02 $ 1.02
Net income (loss) per share - diluted common stock $ 0.44 $ 0.73 $ 0.65 $ 0.48 $ (0.03) $ 0.33 $ 0.38 $ 0.27 $ 2.30 $ 0.96 $ 0.97
Weighted-average number of shares used in calculating net income per share attributable to common stockholders:                      
Basic common shares 21,544,202 21,324,256 21,172,170 21,026,154 20,869,589 20,753,789 20,622,320 20,489,532 21,266,696 20,683,807 20,067,152
Diluted common shares 22,600,038 22,659,052 22,503,749 22,295,213 22,167,358 21,998,660 21,848,359 21,579,721 22,514,513 21,897,988 21,095,867