Annual report pursuant to Section 13 and 15(d)

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

v3.8.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, 2017
Sep. 30, 2017
Jun. 30, 2017
Mar. 31, 2017
Dec. 31, 2016
Sep. 30, 2016
Jun. 30, 2016
Mar. 31, 2016
Dec. 31, 2017
Dec. 31, 2016
Dec. 31, 2015
Selected Quarterly Financial Information [Abstract]                      
Total revenue $ 63,787 $ 69,030 $ 64,121 $ 52,500 $ 50,851 $ 54,422 $ 54,567 $ 42,989 $ 249,438 $ 202,829 $ 159,005
Gross profit 30,756 33,170 31,567 25,744 24,688 25,128 26,215 21,279 121,237 97,310 76,258
Income before provision (benefit) for income taxes 5,794 8,817 9,166 5,879 5,834 5,449 8,042 3,400 29,656 22,725 14,727
Provision (benefit) for income taxes 6,400 1,479 828 (53) 574 203 550 879 8,654 2,206 3,142
Net income $ (606) $ 7,338 $ 8,338 $ 5,932 $ 5,260 $ 5,246 $ 7,492 $ 2,521 $ 21,002 $ 20,519 $ 11,585
Net income (loss) per share attributable to common stockholders                      
Net income (loss) per share - basic common stock $ (0.03) $ 0.35 $ 0.40 $ 0.29 $ 0.26 $ 0.26 $ 0.38 $ 0.13 $ 1.02 $ 1.02 $ 0.60
Net income (loss) per share - diluted common stock $ (0.03) $ 0.33 $ 0.38 $ 0.27 $ 0.25 $ 0.25 $ 0.36 $ 0.12 $ 0.96 $ 0.97 $ 0.56
Weighted-average number of shares used in calculating net income per share attributable to common stockholders:                      
Basic common shares 20,869,589 20,753,789 20,622,320 20,489,532 20,310,857 20,157,688 19,972,395 19,827,669 20,683,807 20,067,152 19,398,991
Diluted common shares 22,167,358 21,998,660 21,848,359 21,579,721 21,362,513 21,182,587 20,997,429 20,840,367 21,897,988 21,095,867 20,708,170