2019 Q4 Form 10-Q Financial Statement
#000156459019039417 Filed on November 01, 2019
Income Statement
Concept | 2019 Q4 | 2019 Q3 | 2018 Q3 |
---|---|---|---|
Revenue | $101.5M | $95.30M | |
YoY Change | 6.55% | 8.85% | |
Cost Of Revenue | $6.000M | $6.600M | |
YoY Change | -9.09% | 26.92% | |
Gross Profit | $95.50M | $88.70M | |
YoY Change | 7.67% | 7.65% | |
Gross Profit Margin | 94.04% | 93.07% | |
Selling, General & Admin | $66.30M | $60.30M | |
YoY Change | 9.95% | 8.45% | |
% of Gross Profit | 69.42% | 67.98% | |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $1.700M | $1.600M | |
YoY Change | 6.25% | 0.0% | |
% of Gross Profit | 1.78% | 1.8% | |
Operating Expenses | $78.36M | $74.71M | |
YoY Change | 4.89% | 9.46% | |
Operating Profit | $23.18M | $20.59M | |
YoY Change | 12.58% | 6.68% | |
Interest Expense | $900.0K | $700.0K | |
YoY Change | 28.57% | 75.0% | |
% of Operating Profit | 3.88% | 3.4% | |
Other Income/Expense, Net | $2.027M | $3.395M | |
YoY Change | -40.29% | 24.59% | |
Pretax Income | $25.21M | $23.99M | |
YoY Change | 5.09% | 8.89% | |
Income Tax | $5.578M | $6.536M | |
% Of Pretax Income | 22.13% | 27.25% | |
Net Earnings | $19.63M | $17.45M | |
YoY Change | 12.49% | 19.19% | |
Net Earnings / Revenue | 19.33% | 18.31% | |
Basic Earnings Per Share | $0.37 | $0.33 | |
Diluted Earnings Per Share | $0.36 | $0.32 | |
COMMON SHARES | |||
Basic Shares Outstanding | 51.83M | 52.80M | 53.03M |
Diluted Shares Outstanding | 54.00M | 54.30M |
Balance Sheet
Concept | 2019 Q4 | 2019 Q3 | 2018 Q3 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $210.0M | $202.4M | |
YoY Change | 3.75% | 22.22% | |
Cash & Equivalents | $132.8M | $121.0M | |
Short-Term Investments | $77.10M | $81.40M | |
Other Short-Term Assets | $13.20M | $11.20M | |
YoY Change | 17.86% | 4.67% | |
Inventory | |||
Prepaid Expenses | |||
Receivables | $128.3M | $122.9M | |
Other Receivables | $0.00 | $0.00 | |
Total Short-Term Assets | $351.5M | $336.5M | |
YoY Change | 4.47% | 11.76% | |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $59.32M | $43.97M | |
YoY Change | 34.91% | 24.98% | |
Goodwill | $8.607M | $8.607M | |
YoY Change | 0.0% | 0.0% | |
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $839.0K | $1.415M | |
YoY Change | -40.71% | -6.6% | |
Total Long-Term Assets | $193.0M | $144.4M | |
YoY Change | 33.64% | 7.31% | |
TOTAL ASSETS | |||
Total Short-Term Assets | $351.5M | $336.5M | |
Total Long-Term Assets | $193.0M | $144.4M | |
Total Assets | $544.5M | $480.9M | |
YoY Change | 13.22% | 10.39% | |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $16.50M | $13.20M | |
YoY Change | 25.0% | -4.35% | |
Accrued Expenses | $75.60M | $66.10M | |
YoY Change | 14.37% | 10.72% | |
Deferred Revenue | $8.900M | ||
YoY Change | |||
Short-Term Debt | $0.00 | $0.00 | |
YoY Change | |||
Long-Term Debt Due | |||
YoY Change | |||
Total Short-Term Liabilities | $101.0M | $88.15M | |
YoY Change | 14.62% | 8.42% | |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | |
YoY Change | |||
Other Long-Term Liabilities | $2.793M | $2.911M | |
YoY Change | -4.05% | -94.64% | |
Total Long-Term Liabilities | $2.793M | $2.911M | |
YoY Change | -4.05% | -94.64% | |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $101.0M | $88.15M | |
Total Long-Term Liabilities | $2.793M | $2.911M | |
Total Liabilities | $187.2M | $150.3M | |
YoY Change | 24.59% | 10.81% | |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $374.0M | $332.9M | |
YoY Change | 12.35% | 6.27% | |
Common Stock | $242.8M | $225.5M | |
YoY Change | 7.67% | 8.1% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $256.4M | $224.8M | |
YoY Change | 14.08% | 2.29% | |
Treasury Stock Shares | $13.68M | 13.66M shares | |
Shareholders Equity | $357.3M | $330.6M | |
YoY Change | |||
Total Liabilities & Shareholders Equity | $544.5M | $480.9M | |
YoY Change | 13.22% | 10.39% |
Cashflow Statement
Concept | 2019 Q4 | 2019 Q3 | 2018 Q3 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $19.63M | $17.45M | |
YoY Change | 12.49% | 19.19% | |
Depreciation, Depletion And Amortization | $1.700M | $1.600M | |
YoY Change | 6.25% | 0.0% | |
Cash From Operating Activities | $27.50M | $18.90M | |
YoY Change | 45.5% | 92.86% | |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$4.500M | -$3.300M | |
YoY Change | 36.36% | -498.55% | |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $13.00M | -$5.900M | |
YoY Change | -320.34% | 47.5% | |
Cash From Investing Activities | $8.500M | -$9.100M | |
YoY Change | -193.41% | 85.71% | |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -7.200M | -6.600M | |
YoY Change | 9.09% | 15.79% | |
NET CHANGE | |||
Cash From Operating Activities | 27.50M | 18.90M | |
Cash From Investing Activities | 8.500M | -9.100M | |
Cash From Financing Activities | -7.200M | -6.600M | |
Net Change In Cash | 28.80M | 3.200M | |
YoY Change | 800.0% | -500.0% | |
FREE CASH FLOW | |||
Cash From Operating Activities | $27.50M | $18.90M | |
Capital Expenditures | -$4.500M | -$3.300M | |
Free Cash Flow | $32.00M | $22.20M | |
YoY Change | 44.14% | 147.44% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2019Q3 | us-gaap |
Deferred Tax Assets Net Noncurrent
DeferredTaxAssetsNetNoncurrent
|
35639000 | |
CY2018Q4 | us-gaap |
Assets
Assets
|
468936000 | |
CY2019Q3 | us-gaap |
Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
|
16526000 | |
CY2018Q4 | us-gaap |
Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
|
12283000 | |
CY2018Q4 | us-gaap |
Deferred Rent Credit Noncurrent
DeferredRentCreditNoncurrent
|
1467000 | |
CY2018Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
227283000 | |
CY2019Q3 | us-gaap |
Accumulated Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
|
328000 | |
us-gaap |
Investment Income Net
InvestmentIncomeNet
|
1813000 | ||
CY2019Q3 | us-gaap |
Other Nonoperating Income
OtherNonoperatingIncome
|
1112000 | |
CY2018Q3 | us-gaap |
Other Nonoperating Income
OtherNonoperatingIncome
|
2655000 | |
CY2018Q4 | expo |
Deferred Compensation Plan Assets Noncurrent
DeferredCompensationPlanAssetsNoncurrent
|
52286000 | |
us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
15345000 | ||
us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
13167000 | ||
us-gaap |
Operating Expenses
OperatingExpenses
|
243324000 | ||
CY2019Q3 | us-gaap |
Deferred Compensation Liability Classified Noncurrent
DeferredCompensationLiabilityClassifiedNoncurrent
|
64808000 | |
CY2019Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
839000 | |
CY2019Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
101034000 | |
CY2019Q3 | expo |
Deferred Compensation Plan Assets Noncurrent
DeferredCompensationPlanAssetsNoncurrent
|
64841000 | |
CY2019Q3 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
69552000 | |
CY2019Q3 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
8900000 | |
CY2019Q3 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
6056000 | |
CY2018Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
98304000 | |
CY2019Q3 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
2793000 | |
CY2019Q3 | us-gaap |
Goodwill
Goodwill
|
8607000 | |
CY2018Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
2548000 | |
CY2019Q3 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
18577000 | |
CY2019Q3 | us-gaap |
Liabilities
Liabilities
|
187212000 | |
CY2018Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
127059000 | |
CY2019Q3 | us-gaap |
Assets
Assets
|
544491000 | |
CY2018Q4 | us-gaap |
Deferred Compensation Liability Classified Noncurrent
DeferredCompensationLiabilityClassifiedNoncurrent
|
52708000 | |
CY2018Q4 | us-gaap |
Liabilities
Liabilities
|
155027000 | |
CY2019Q3 | expo |
Cost Incurred From Reimbursable Expense
CostIncurredFromReimbursableExpense
|
6042000 | |
CY2018Q3 | expo |
Cost Incurred From Reimbursable Expense
CostIncurredFromReimbursableExpense
|
6588000 | |
us-gaap |
Labor And Related Expense
LaborAndRelatedExpense
|
185616000 | ||
CY2019Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.001 | |
CY2019Q3 | us-gaap |
Labor And Related Expense
LaborAndRelatedExpense
|
58526000 | |
expo |
Revenue From Reimbursement
RevenueFromReimbursement
|
18010000 | ||
CY2019Q3 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
101548000 | |
CY2019Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
5218000 | |
CY2018Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
9166000 | |
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
287380000 | ||
us-gaap |
Labor And Related Expense
LaborAndRelatedExpense
|
168676000 | ||
CY2019Q3 | us-gaap |
Other Cost And Expense Operating
OtherCostAndExpenseOperating
|
8345000 | |
CY2019Q3 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
5451000 | |
CY2019Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
120000000 | |
CY2019Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
65707000 | |
CY2018Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
66000 | |
CY2018Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
|
-45000 | |
CY2019Q3 | us-gaap |
Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
|
-3465000 | |
CY2019Q3 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-3137000 | |
CY2019Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
374033000 | |
CY2019Q3 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
13682000 | |
CY2019Q3 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
256439000 | |
CY2019Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
357279000 | |
CY2019Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
544491000 | |
CY2019Q3 | expo |
Revenue Before Reimbursements
RevenueBeforeReimbursements
|
95506000 | |
CY2019Q3 | expo |
Revenue From Reimbursement
RevenueFromReimbursement
|
6042000 | |
CY2018Q3 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
95302000 | |
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
307085000 | ||
CY2018Q3 | us-gaap |
Labor And Related Expense
LaborAndRelatedExpense
|
55639000 | |
expo |
Cost Incurred From Reimbursable Expense
CostIncurredFromReimbursableExpense
|
18010000 | ||
CY2019Q3 | us-gaap |
Operating Expenses
OperatingExpenses
|
78364000 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Net Noncurrent
DeferredTaxAssetsNetNoncurrent
|
34090000 | |
CY2018Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
76855000 | |
CY2019Q3 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
23715000 | |
dei |
Document Quarterly Report
DocumentQuarterlyReport
|
true | ||
CY2019Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
59318000 | |
dei |
Entity Address City Or Town
EntityAddressCityOrTown
|
MENLO PARK | ||
CY2018Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
105814000 | |
CY2018Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
46103000 | |
dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
77-0218904 | ||
CY2019Q3 | us-gaap |
Assets Current
AssetsCurrent
|
351532000 | |
CY2019Q3 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
13231000 | |
CY2018Q4 | us-gaap |
Short Term Investments
ShortTermInvestments
|
81495000 | |
CY2018Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
4066000 | |
dei |
Entity Small Business
EntitySmallBusiness
|
false | ||
CY2018Q4 | us-gaap |
Assets Current
AssetsCurrent
|
326612000 | |
CY2018Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
12244000 | |
CY2019Q4 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
51828903 | |
dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
CA | ||
CY2019Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
132843000 | |
CY2019Q3 | us-gaap |
Short Term Investments
ShortTermInvestments
|
77125000 | |
dei |
Entity Address Address Line1
EntityAddressAddressLine1
|
149 COMMONWEALTH DRIVE | ||
dei |
Local Phone Number
LocalPhoneNumber
|
(650) 326-9400 | ||
dei |
City Area Code
CityAreaCode
|
650 | ||
dei |
Trading Symbol
TradingSymbol
|
EXPO | ||
dei |
Security Exchange Name
SecurityExchangeName
|
NASDAQ | ||
dei |
Document Transition Report
DocumentTransitionReport
|
false | ||
dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | ||
CY2018Q4 | us-gaap |
Goodwill
Goodwill
|
8607000 | |
CY2018Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
1238000 | |
dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | ||
CY2019Q3 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
128333000 | |
dei |
Entity Address Postal Zip Code
EntityAddressPostalZipCode
|
94025 | ||
dei |
Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
|
DE | ||
dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | ||
dei |
Security12b Title
Security12bTitle
|
Common Stock, par value $0.001 per share | ||
CY2018Q3 | us-gaap |
Other Cost And Expense Operating
OtherCostAndExpenseOperating
|
7826000 | |
CY2018Q3 | expo |
Revenue From Reimbursement
RevenueFromReimbursement
|
6588000 | |
us-gaap |
Other Cost And Expense Operating
OtherCostAndExpenseOperating
|
24448000 | ||
expo |
Revenue From Reimbursement
RevenueFromReimbursement
|
17915000 | ||
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
313909000 | |
us-gaap |
Other Cost And Expense Operating
OtherCostAndExpenseOperating
|
22857000 | ||
CY2018Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.001 | |
CY2018Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
|
-2808000 | |
CY2018Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-2853000 | |
CY2018Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
342024000 | |
CY2018Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
468936000 | |
CY2018Q3 | expo |
Revenue Before Reimbursements
RevenueBeforeReimbursements
|
88714000 | |
expo |
Revenue Before Reimbursements
RevenueBeforeReimbursements
|
289170000 | ||
expo |
Revenue Before Reimbursements
RevenueBeforeReimbursements
|
269370000 | ||
CY2018Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
120000000 | |
CY2018Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
14208000 | |
CY2018Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
252611000 | |
CY2018Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
65707000 | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
14045000 | ||
CY2018Q3 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
3395000 | |
us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
13623000 | ||
CY2018Q3 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
4655000 | |
us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
6688000 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.06 | ||
CY2018Q3 | us-gaap |
Operating Expenses
OperatingExpenses
|
74708000 | |
CY2018Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
23989000 | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
15140000 | ||
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
77384000 | ||
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
71358000 | ||
CY2018Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.32 | |
CY2018Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
17453000 | |
CY2018Q3 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
6536000 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
63339000 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.04 | ||
us-gaap |
Net Income Loss
NetIncomeLoss
|
56218000 | ||
us-gaap |
Operating Expenses
OperatingExpenses
|
222710000 | ||
CY2018Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
53032000 | |
CY2018Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.33 | |
CY2018Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
20594000 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52928000 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.20 | ||
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
63761000 | ||
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
64670000 | ||
expo |
Cost Incurred From Reimbursable Expense
CostIncurredFromReimbursableExpense
|
17915000 | ||
CY2018Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54302000 | |
CY2018Q3 | us-gaap |
Investment Income Net
InvestmentIncomeNet
|
740000 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
53906000 | ||
CY2019Q3 | us-gaap |
Dividends
Dividends
|
8515000 | |
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-52000 | ||
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
373000 | ||
us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
845000 | ||
us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
5348000 | ||
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
19633000 | |
CY2019Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
357279000 | |
CY2017Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
289088000 | |
us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
692000 | ||
CY2018Q3 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-31000 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
56218000 | ||
CY2019Q3 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
19070000 | |
CY2018Q3 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
17118000 | |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
63055000 | ||
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
55233000 | ||
CY2019Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
66000 | |
CY2019Q3 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
242756000 | |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-21958000 | ||
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
8839000 | ||
CY2018Q3 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
120977000 | |
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
13605000 | ||
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-2510000 | ||
us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
1359000 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
14170000 | ||
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
8999000 | ||
us-gaap |
Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
|
28000000 | ||
CY2019Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
23184000 | |
CY2019Q3 | us-gaap |
Investment Income Net
InvestmentIncomeNet
|
915000 | |
CY2019Q3 | us-gaap |
Deferred Compensation Liability Current And Noncurrent
DeferredCompensationLiabilityCurrentAndNoncurrent
|
71182000 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54002000 | |
CY2019Q3 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.160 | |
us-gaap |
Stock Granted During Period Value Sharebased Compensation
StockGrantedDuringPeriodValueSharebasedCompensation
|
7947000 | ||
us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
-11183000 | ||
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
403000 | ||
us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.390 | ||
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
19633000 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52802000 | |
CY2019Q3 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
2027000 | |
CY2019Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
25211000 | |
CY2019Q3 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
5578000 | |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
19633000 | |
CY2019Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.37 | |
CY2019Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.36 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.17 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52694000 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54181000 | ||
CY2018Q3 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.130 | |
us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.480 | ||
CY2018Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
17453000 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
63339000 | ||
CY2019Q3 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-30000 | |
us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-124000 | ||
us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
5980000 | ||
CY2019Q3 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P5Y3M18D | |
CY2019Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
28240000 | |
CY2019Q3 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
3607000 | |
CY2019Q3 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
24633000 | |
us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
-2159000 | ||
us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
-202000 | ||
us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
-266000 | ||
us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
562000 | ||
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
46826000 | ||
us-gaap |
Dividends
Dividends
|
16999000 | ||
us-gaap |
Net Income Loss
NetIncomeLoss
|
43706000 | ||
CY2019Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
343852000 | |
CY2019Q3 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
389000 | |
CY2019Q3 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
735000 | |
CY2019Q3 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1748000 | |
us-gaap |
Investment Income Net
InvestmentIncomeNet
|
2894000 | ||
us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
38693000 | ||
us-gaap |
Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
|
44000000 | ||
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-11717000 | ||
CY2019Q3 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
2452000 | |
us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
5144000 | ||
CY2019Q3 | expo |
Subcontractor Fees Not Included In Revenues
SubcontractorFeesNotIncludedInRevenues
|
1300000 | |
expo |
Subcontractor Fees Not Included In Revenues
SubcontractorFeesNotIncludedInRevenues
|
11700000 | ||
CY2018Q3 | expo |
Subcontractor Fees Not Included In Revenues
SubcontractorFeesNotIncludedInRevenues
|
4700000 | |
expo |
Subcontractor Fees Not Included In Revenues
SubcontractorFeesNotIncludedInRevenues
|
21900000 | ||
us-gaap |
Other Nonoperating Income
OtherNonoperatingIncome
|
10729000 | ||
us-gaap |
Other Nonoperating Income
OtherNonoperatingIncome
|
4875000 | ||
CY2019Q3 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-533000 | |
CY2018Q3 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-304000 | |
us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-657000 | ||
us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-933000 | ||
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
313909000 | |
CY2019Q3 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-30000 | |
us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
5633000 | ||
us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-629000 | ||
us-gaap |
Stock Granted During Period Value Sharebased Compensation
StockGrantedDuringPeriodValueSharebasedCompensation
|
7643000 | ||
us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
-8637000 | ||
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-21000 | ||
us-gaap |
Dividends
Dividends
|
13768000 | ||
us-gaap |
Net Income Loss
NetIncomeLoss
|
38765000 | ||
CY2018Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
318766000 | |
CY2018Q3 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
373000 | |
CY2018Q3 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1488000 | |
CY2018Q3 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-304000 | |
CY2018Q3 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
-202000 | |
CY2018Q3 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-31000 | |
CY2018Q3 | us-gaap |
Dividends
Dividends
|
6909000 | |
CY2018Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
17453000 | |
CY2018Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
330634000 | |
us-gaap |
Profit Loss
ProfitLoss
|
63339000 | ||
us-gaap |
Profit Loss
ProfitLoss
|
56218000 | ||
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
4904000 | ||
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
4710000 | ||
us-gaap |
Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
|
442000 | ||
us-gaap |
Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
|
51000 | ||
expo |
Deferred Rent
DeferredRent
|
87000 | ||
us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
2146000 | ||
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
13585000 | ||
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-1671000 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
24665000 | ||
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
5604000 | ||
expo |
Increase Decrease In Operation Lease Right Of Use Assets
IncreaseDecreaseInOperationLeaseRightOfUseAssets
|
-24000 | ||
us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
3102000 | ||
us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
-3609000 | ||
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
52293000 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
17024000 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
12170000 | ||
us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
37788000 | ||
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
11183000 | ||
us-gaap |
Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
|
1969000 | ||
us-gaap |
Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
|
1065000 | ||
us-gaap |
Payments Of Dividends
PaymentsOfDividends
|
25223000 | ||
us-gaap |
Payments Of Dividends
PaymentsOfDividends
|
20497000 | ||
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-34437000 | ||
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-28271000 | ||
us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
-355000 | ||
us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
-414000 | ||
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
5784000 | ||
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-3817000 | ||
CY2018Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
127059000 | |
CY2017Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
124794000 | |
CY2019Q3 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-533000 | |
expo |
Change In Market Value Of Deferred Compensation Trust Assets
ChangeInMarketValueOfDeferredCompensationTrustAssets
|
2577000 | ||
CY2019Q3 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
128333000 | |
CY2019Q3 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
132843000 | |
CY2018Q2 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
120000000 | |
us-gaap |
Use Of Estimates
UseOfEstimates
|
<p style="text-align:justify;margin-top:10pt;margin-bottom:0pt;text-indent:7.69%;color:#auto;font-family:Times New Roman;font-weight:bold;font-size:10pt;font-style:normal;text-transform:none;font-variant: normal;">Use of Estimates. <span style="font-weight:normal;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the period. Items subject to such estimates and assumptions include accounting for revenue recognition and estimating the allowance for contract losses and doubtful accounts. Actual results could differ from those estimates.</span></p> | ||
CY2019Q3 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
170680000 | |
CY2019Q3 | us-gaap |
Liabilities Fair Value Disclosure
LiabilitiesFairValueDisclosure
|
71182000 | |
CY2018Q4 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
145486000 | |
CY2018Q4 | us-gaap |
Deferred Compensation Liability Current And Noncurrent
DeferredCompensationLiabilityCurrentAndNoncurrent
|
59349000 | |
CY2018Q4 | us-gaap |
Liabilities Fair Value Disclosure
LiabilitiesFairValueDisclosure
|
59349000 | |
CY2019Q3 | us-gaap |
Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
|
209610000 | |
CY2019Q3 | expo |
Available For Sale Securities Gross Unrealized Gain Accumulated In Investments
AvailableForSaleSecuritiesGrossUnrealizedGainAccumulatedInInvestments
|
361000 | |
CY2019Q3 | expo |
Available For Sale Securities Gross Unrealized Loss Accumulated In Investments
AvailableForSaleSecuritiesGrossUnrealizedLossAccumulatedInInvestments
|
3000 | |
CY2019Q3 | us-gaap |
Cash And Cash Equivalents Fair Value Disclosure
CashAndCashEquivalentsFairValueDisclosure
|
209968000 | |
CY2018Q4 | us-gaap |
Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
|
208693000 | |
CY2018Q4 | expo |
Available For Sale Securities Gross Unrealized Gain Accumulated In Investments
AvailableForSaleSecuritiesGrossUnrealizedGainAccumulatedInInvestments
|
91000 | |
CY2018Q4 | expo |
Available For Sale Securities Gross Unrealized Loss Accumulated In Investments
AvailableForSaleSecuritiesGrossUnrealizedLossAccumulatedInInvestments
|
230000 | |
CY2018Q4 | us-gaap |
Cash And Cash Equivalents Fair Value Disclosure
CashAndCashEquivalentsFairValueDisclosure
|
208554000 | |
CY2019Q3 | us-gaap |
Available For Sale Securities Debt Maturities Within One Year Amortized Cost
AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
|
51939000 | |
CY2019Q3 | us-gaap |
Available For Sale Securities Debt Maturities Within One Year Fair Value
AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
|
52047000 | |
CY2019Q3 | expo |
Available For Sale Securities Debt Maturities In Next One To Two Years Amortized Cost
AvailableForSaleSecuritiesDebtMaturitiesInNextOneToTwoYearsAmortizedCost
|
24828000 | |
CY2019Q3 | expo |
Available For Sale Securities Debt Maturities In Next One To Two Years Fair Value
AvailableForSaleSecuritiesDebtMaturitiesInNextOneToTwoYearsFairValue
|
25078000 | |
CY2019Q3 | us-gaap |
Available For Sale Securities Amortized Cost
AvailableForSaleSecuritiesAmortizedCost
|
76767000 | |
CY2019Q3 | us-gaap |
Short Term Investments
ShortTermInvestments
|
77125000 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52802000 | |
CY2018Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
53032000 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52694000 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52928000 | ||
CY2019Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54002000 | |
CY2018Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54302000 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
53906000 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54181000 | ||
us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | ||
CY2019Q3 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | |
us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | ||
CY2018Q3 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | |
expo |
Share Based Compensation Arrangements By Share Based Payment Award Options Expiration Term
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationTerm
|
P10Y | ||
CY2019Q1 | us-gaap |
Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
|
75000000 | |
CY2019Q3 | us-gaap |
Stock Repurchase Program Remaining Authorized Repurchase Amount1
StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
|
92462000 | |
CY2016Q4 | us-gaap |
Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
|
35000000 | |
CY2019Q3 | us-gaap |
Deferred Compensation Plan Assets
DeferredCompensationPlanAssets
|
70765000 | |
CY2018Q4 | us-gaap |
Deferred Compensation Plan Assets
DeferredCompensationPlanAssets
|
57778000 | |
CY2019Q3 | us-gaap |
Deferred Compensation Liability Current And Noncurrent
DeferredCompensationLiabilityCurrentAndNoncurrent
|
71182000 | |
CY2018Q4 | us-gaap |
Deferred Compensation Liability Current And Noncurrent
DeferredCompensationLiabilityCurrentAndNoncurrent
|
59349000 | |
CY2019Q3 | expo |
Change In Market Value Of Deferred Compensation Trust Assets
ChangeInMarketValueOfDeferredCompensationTrustAssets
|
361000 | |
CY2018Q3 | expo |
Change In Market Value Of Deferred Compensation Trust Assets
ChangeInMarketValueOfDeferredCompensationTrustAssets
|
1840000 | |
expo |
Change In Market Value Of Deferred Compensation Trust Assets
ChangeInMarketValueOfDeferredCompensationTrustAssets
|
8415000 | ||
us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
14884000 | ||
us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
19721000 | ||
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
28678000 | ||
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
64670000 | ||
CY2019Q3 | us-gaap |
Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
|
4878000 | |
CY2018Q3 | us-gaap |
Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
|
4716000 | |
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
373000 | ||
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-52000 | ||
expo |
Vested Restricted Stock Awards Issued To Settle Accrued Bonuses
VestedRestrictedStockAwardsIssuedToSettleAccruedBonuses
|
7947000 | ||
expo |
Vested Restricted Stock Awards Issued To Settle Accrued Bonuses
VestedRestrictedStockAwardsIssuedToSettleAccruedBonuses
|
7643000 | ||
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
2326000 | ||
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
1643000 | ||
CY2019Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
5218000 | |
CY2018Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
4066000 | |
CY2018Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
105814000 | |
CY2019Q3 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
101548000 | |
CY2018Q3 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
95302000 | |
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
307085000 | ||
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
287380000 | ||
CY2019Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
23184000 | |
CY2018Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
20594000 | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
63761000 | ||
us-gaap |
Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
|
18119000 | ||
us-gaap |
Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
|
13665000 | ||
CY2019Q3 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
1672000 | |
CY2018Q3 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
1561000 | |
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
4904000 | ||
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
4710000 | ||
CY2019Q3 | us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | |
us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | ||
CY2018Q3 | us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | |
us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | ||
CY2019Q3 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
1699000 | |
CY2019Q3 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.044 | |
CY2019Q3 | us-gaap |
Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
|
1591000 | |
CY2019Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
6798000 | |
CY2019Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
5802000 | |
CY2019Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
4577000 | |
CY2019Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
2986000 | |
CY2019Q3 | expo |
Lessee Operating Lease Liability Payments Due Year Six
LesseeOperatingLeaseLiabilityPaymentsDueYearSix
|
2022000 | |
CY2019Q3 | expo |
Lessee Operating Lease Liability Payments Due Year Seven
LesseeOperatingLeaseLiabilityPaymentsDueYearSeven
|
1491000 | |
CY2019Q3 | expo |
Lessee Operating Lease Liability Payments Due Year Eight
LesseeOperatingLeaseLiabilityPaymentsDueYearEight
|
1507000 | |
CY2019Q3 | expo |
Lessee Operating Lease Liability Payments Due Year Nine
LesseeOperatingLeaseLiabilityPaymentsDueYearNine
|
1466000 |