XML 22 R5.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Comprehensive Income - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Income Statement [Abstract]      
Revenues $ 536,910 $ 450,875 $ 385,276
Cost of revenues 182,069 153,065 131,678
Gross profit 354,841 297,810 253,598
Operating expenses      
Sales and marketing 122,936 101,772 88,044
Research and development 53,654 45,748 39,038
General and administrative 84,887 67,340 61,305
Amortization of intangible assets 16,116 11,768 10,126
Total operating expenses 277,593 226,628 198,513
Income from operations 77,248 71,182 55,085
Other income (expense), net 8,315 142 (1,544)
Income before income taxes 85,563 71,324 53,541
Income tax expense 19,739 16,190 8,944
Net income 65,824 55,134 44,597
Other comprehensive income (expense)      
Foreign currency translation adjustments 3,393 (2,240) (514)
Unrealized gain (loss) on investments, net of tax of $644, $147, and $(34), respectively 1,932 441 (102)
Reclassification of (gain) loss on investments into earnings, net of tax of $(564), $(55), and $63, respectively (1,692) (165) 190
Total other comprehensive income (expense) 3,633 (1,964) (426)
Comprehensive income $ 69,457 $ 53,170 $ 44,171
Net income per share      
Basic (in dollars per share) $ 1.80 $ 1.53 $ 1.24
Diluted (in dollars per share) $ 1.76 $ 1.49 $ 1.21
Weighted average common shares used to compute net income per share      
Basic (in shares) 36,646 36,117 35,928
Diluted (in shares) 37,475 36,953 36,962