XML 91 R76.htm IDEA: XBRL DOCUMENT v3.22.0.1
QUARTERLY RESULTS (UNAUDITED) (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net revenues $ 119,064 $ 101,640 $ 94,876 $ 94,364 $ 104,301 $ 90,431 $ 79,281 $ 86,453 $ 409,944 $ 360,466 $ 411,788
Amortization of intangible assets                 0 0 3,738
Cost of services 40,717 35,737 34,738 32,948 38,951 32,174 27,719 33,302      
Gross profit 78,347 65,903 60,138 61,416 65,350 58,257 51,562 53,151 265,804 228,320 249,075
Operating expenses:                      
Research and development 16,920 17,129 16,093 15,417 14,902 13,623 13,068 15,425 65,559 57,018 62,343
Marketing and selling 28,983 24,413 21,354 20,744 22,660 19,998 19,690 25,289 95,494 87,637 99,944
General and administrative 15,158 14,901 13,678 13,635 12,908 10,796 10,604 12,744 57,372 47,052 53,362
Amortization of intangible assets                 0 0 694
Restructuring costs (recoveries), net 115 (88) 15 1,074 4,038 723 140 145 1,116 5,046 629
Total operating expenses 61,176 56,355 51,140 50,870 54,508 45,140 43,502 53,603 219,541 196,753 216,972
Operating income (loss) 17,171 9,548 8,998 10,546 10,842 13,117 8,060 (452) 46,263 31,567 32,103
Other income (expense), net 389 7,864 150 (3,555) 636 143 118 (28)      
Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest 15,951 15,766 7,365 4,873 6,913 8,694 2,562 (5,735) 43,955 12,434 2,525
Provision for (benefit from) income taxes 735 991 359 482 (174) 707 717 122 2,567 1,372 (5,076)
Net income (loss) $ 15,216 $ 14,775 $ 7,006 $ 4,391 $ 7,087 $ 7,987 $ 1,845 $ (5,857) $ 41,388 $ 11,062 $ 7,601
Earnings Per Share, Basic $ 0.34 $ 0.32 $ 0.15 $ 0.10 $ 0.16 $ 0.18 $ 0.04 $ (0.14) $ 0.92 $ 0.25 $ 0.18
Earnings Per Share, Diluted $ 0.33 $ 0.32 $ 0.15 $ 0.10 $ 0.16 $ 0.18 $ 0.04 $ (0.13) $ 0.89 $ 0.25 $ 0.17
Weighted-average common shares outstanding - basic 45,061 45,564 45,211 44,559 44,288 44,019 43,719 43,254 45,101 43,822 42,649
Weighted-average common shares outstanding - diluted 45,773 46,428 46,550 46,204 45,541 44,758 44,180 44,101 46,303 44,878 43,495