v3.26.1
CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Income Statement [Abstract]        
Revenues $ 91,361 $ 87,721 $ 179,828 $ 174,859
Cost of revenues [1] 18,291 17,624 35,191 35,694
Gross profit 73,070 70,097 144,637 139,165
Operating expenses:        
Sales and marketing [1] 13,503 12,452 27,319 25,240
Research, development and engineering [1] 2,375 1,744 4,291 3,456
General and administrative [1] 20,362 16,852 38,455 33,923
Total operating expenses 36,240 31,048 70,065 62,619
Income from operations 36,830 39,049 74,572 76,546
Interest expense (7,932) (8,673) (15,695) (17,649)
Interest income 765 484 1,426 935
Other income (expense), net 6,029 (2,316) 7,445 (3,413)
Income before income taxes 35,692 28,544 67,748 56,419
Income tax expense 8,318 7,763 15,689 14,486
Net income $ 27,374 $ 20,781 $ 52,059 $ 41,933
Net income per common share:        
Basic (in dollars per share) $ 1.49 $ 1.07 $ 2.81 $ 2.15
Diluted (in dollars per share) $ 1.43 $ 1.07 $ 2.72 $ 2.14
Weighted average shares outstanding:        
Basic (in shares) 18,367,765 19,437,315 18,535,476 19,483,689
Diluted (in shares) 19,183,187 19,497,090 19,111,275 19,593,699
[1]
(1) Includes share-based compensation expense as follows:
Cost of revenues$621 $511 $1,063 $987 
Sales and marketing994 702 1,745 1,416 
Research, development and engineering318 107 456 212 
General and administrative3,827 2,887 6,760 5,856 
Total$5,760 $4,207 $10,024 $8,471