2019 Q2 Form 10-Q Financial Statement
#000156459019028402 Filed on August 02, 2019
Income Statement
Concept | 2019 Q2 | 2018 Q2 | 2018 Q1 |
---|---|---|---|
Revenue | $106.5M | $95.62M | $96.46M |
YoY Change | 11.38% | 8.86% | 14.66% |
Cost Of Revenue | $6.200M | $5.600M | $5.800M |
YoY Change | 10.71% | 51.35% | 56.76% |
Gross Profit | $100.3M | $90.00M | $90.70M |
YoY Change | 11.44% | 7.02% | 12.67% |
Gross Profit Margin | 94.17% | 94.12% | 94.03% |
Selling, General & Admin | $69.80M | $59.90M | $61.60M |
YoY Change | 16.53% | 6.02% | 5.12% |
% of Gross Profit | 69.59% | 66.56% | 67.92% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $1.600M | $1.500M | $1.600M |
YoY Change | 6.67% | -6.25% | 0.0% |
% of Gross Profit | 1.6% | 1.67% | 1.76% |
Operating Expenses | $81.68M | $73.14M | $74.86M |
YoY Change | 11.68% | 14.64% | 7.73% |
Operating Profit | $24.82M | $22.48M | $21.60M |
YoY Change | 10.43% | 10.64% | 47.59% |
Interest Expense | $900.0K | $500.0K | $500.0K |
YoY Change | 80.0% | 66.67% | 150.0% |
% of Operating Profit | 3.63% | 2.22% | 2.32% |
Other Income/Expense, Net | $4.028M | $2.441M | $852.0K |
YoY Change | 65.01% | 20.19% | -69.31% |
Pretax Income | $28.85M | $24.92M | $22.45M |
YoY Change | 15.78% | 11.5% | 28.95% |
Income Tax | $7.857M | $6.494M | $2.110M |
% Of Pretax Income | 27.23% | 26.06% | 9.4% |
Net Earnings | $20.99M | $18.43M | $20.34M |
YoY Change | 13.94% | 33.6% | 22.71% |
Net Earnings / Revenue | 19.71% | 19.27% | 21.09% |
Basic Earnings Per Share | $0.40 | $0.35 | $0.39 |
Diluted Earnings Per Share | $0.39 | $0.34 | $0.38 |
COMMON SHARES | |||
Basic Shares Outstanding | 52.75M | 53.01M | 52.74M |
Diluted Shares Outstanding | 53.87M | 54.20M | 54.01M |
Balance Sheet
Concept | 2019 Q2 | 2018 Q2 | 2018 Q1 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $194.5M | $193.3M | $178.6M |
YoY Change | 0.62% | 19.32% | 15.3% |
Cash & Equivalents | $104.5M | $117.8M | $103.2M |
Short-Term Investments | $90.00M | $75.50M | $75.50M |
Other Short-Term Assets | $10.50M | $9.200M | $9.600M |
YoY Change | 14.13% | -1.08% | -22.58% |
Inventory | |||
Prepaid Expenses | |||
Receivables | $129.7M | $116.5M | $117.2M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $334.7M | $319.0M | $305.5M |
YoY Change | 4.91% | 14.46% | 15.89% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $56.11M | $41.40M | $40.40M |
YoY Change | 35.54% | 15.32% | 10.47% |
Goodwill | $8.607M | ||
YoY Change | |||
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $949.0K | $86.70M | $86.00M |
YoY Change | -98.91% | 0.23% | 8933.61% |
Total Long-Term Assets | $186.0M | $136.7M | $135.0M |
YoY Change | 36.05% | 4.35% | 0.28% |
TOTAL ASSETS | |||
Total Short-Term Assets | $334.7M | $319.0M | $305.5M |
Total Long-Term Assets | $186.0M | $136.7M | $135.0M |
Total Assets | $520.6M | $455.7M | $440.5M |
YoY Change | 14.25% | 11.23% | 10.61% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $19.70M | $12.40M | $16.50M |
YoY Change | 58.87% | 16.98% | 61.76% |
Accrued Expenses | $64.70M | $56.80M | $45.20M |
YoY Change | 13.91% | 11.59% | 9.98% |
Deferred Revenue | $8.550M | ||
YoY Change | |||
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | |||
YoY Change | |||
Total Short-Term Liabilities | $92.88M | $77.30M | $69.60M |
YoY Change | 20.16% | 13.51% | 21.22% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Other Long-Term Liabilities | $2.846M | $59.70M | $64.20M |
YoY Change | -95.23% | 14.37% | 2932.59% |
Total Long-Term Liabilities | $2.846M | $59.70M | $64.20M |
YoY Change | -95.23% | 14.37% | 2932.59% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $92.88M | $77.30M | $69.60M |
Total Long-Term Liabilities | $2.846M | $59.70M | $64.20M |
Total Liabilities | $176.8M | $136.9M | $133.8M |
YoY Change | 29.14% | 13.8% | 17.93% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $363.0M | ||
YoY Change | |||
Common Stock | $241.0M | ||
YoY Change | |||
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $257.5M | ||
YoY Change | |||
Treasury Stock Shares | $13.79M | 13.67M shares | 6.849M shares |
Shareholders Equity | $343.9M | $318.8M | $306.6M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $520.6M | $455.7M | $440.5M |
YoY Change | 14.25% | 11.23% | 10.62% |
Cashflow Statement
Concept | 2019 Q2 | 2018 Q2 | 2018 Q1 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $20.99M | $18.43M | $20.34M |
YoY Change | 13.94% | 33.6% | 22.71% |
Depreciation, Depletion And Amortization | $1.600M | $1.500M | $1.600M |
YoY Change | 6.67% | -6.25% | 0.0% |
Cash From Operating Activities | $37.10M | $24.20M | $3.692M |
YoY Change | 53.31% | 27.37% | -306.95% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$6.800M | $2.139M | $6.810M |
YoY Change | -417.91% | 75.47% | 421.04% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $3.100M | $0.00 | -$3.900M |
YoY Change | -100.0% | -56.67% | |
Cash From Investing Activities | -$3.700M | -$2.200M | -$10.74M |
YoY Change | 68.18% | -57.69% | 4.24% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | $6.959M | ||
YoY Change | 29.49% | ||
Common Stock Issuance & Retirement, Net | $0.00 | ||
YoY Change | -100.0% | ||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -7.800M | -6.400M | -15.29M |
YoY Change | 21.88% | -41.82% | -3.91% |
NET CHANGE | |||
Cash From Operating Activities | 37.10M | 24.20M | 3.692M |
Cash From Investing Activities | -3.700M | -2.200M | -10.74M |
Cash From Financing Activities | -7.800M | -6.400M | -15.29M |
Net Change In Cash | 25.60M | 15.60M | -21.64M |
YoY Change | 64.1% | 457.14% | -22.7% |
FREE CASH FLOW | |||
Cash From Operating Activities | $37.10M | $24.20M | $3.692M |
Capital Expenditures | -$6.800M | $2.139M | $6.810M |
Free Cash Flow | $43.90M | $22.06M | -$3.118M |
YoY Change | 98.99% | 24.07% | 0.87% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
dei |
Entity Shell Company
EntityShellCompany
|
false | ||
dei |
Entity Filer Category
EntityFilerCategory
|
Large Accelerated Filer | ||
dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
770218904 | ||
dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
770218904 | ||
dei |
Entity Address Address Line1
EntityAddressAddressLine1
|
149 COMMONWEALTH DRIVE | ||
dei |
Entity Address City Or Town
EntityAddressCityOrTown
|
MENLO PARK | ||
dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
CALIFORNIA | ||
dei |
Entity Address Postal Zip Code
EntityAddressPostalZipCode
|
94025 | ||
dei |
Local Phone Number
LocalPhoneNumber
|
(650) 326-9400 | ||
dei |
City Area Code
CityAreaCode
|
650 | ||
CY2019Q2 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
104452000 | |
CY2018Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
127059000 | |
CY2019Q2 | us-gaap |
Short Term Investments
ShortTermInvestments
|
90022000 | |
CY2018Q4 | us-gaap |
Short Term Investments
ShortTermInvestments
|
81495000 | |
CY2019Q2 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
5342000 | |
CY2018Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
4066000 | |
CY2019Q2 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
129735000 | |
dei |
Entity File Number
EntityFileNumber
|
0-18655 | ||
CY2019Q2 | expo |
Revenue From Reimbursement
RevenueFromReimbursement
|
6243000 | |
expo |
Revenue Before Reimbursements
RevenueBeforeReimbursements
|
193664000 | ||
expo |
Revenue Before Reimbursements
RevenueBeforeReimbursements
|
180656000 | ||
CY2018Q2 | expo |
Revenue From Reimbursement
RevenueFromReimbursement
|
5649000 | |
CY2019Q2 | us-gaap |
Dividends
Dividends
|
8496000 | |
CY2019Q1 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
372000 | |
us-gaap |
Labor And Related Expense
LaborAndRelatedExpense
|
127090000 | ||
us-gaap |
Labor And Related Expense
LaborAndRelatedExpense
|
113037000 | ||
CY2019Q2 | us-gaap |
Other Cost And Expense Operating
OtherCostAndExpenseOperating
|
8095000 | |
CY2018Q2 | us-gaap |
Other Cost And Expense Operating
OtherCostAndExpenseOperating
|
7566000 | |
CY2018Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
105814000 | |
CY2019Q2 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
10452000 | |
CY2018Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
12244000 | |
CY2019Q2 | us-gaap |
Assets Current
AssetsCurrent
|
334661000 | |
CY2018Q4 | us-gaap |
Assets Current
AssetsCurrent
|
326612000 | |
CY2019Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
329177000 | |
CY2019Q2 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
56112000 | |
CY2018Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
46103000 | |
CY2019Q2 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
22729000 | |
CY2019Q2 | us-gaap |
Goodwill
Goodwill
|
8607000 | |
CY2018Q4 | us-gaap |
Goodwill
Goodwill
|
8607000 | |
CY2019Q2 | us-gaap |
Deferred Tax Assets Net Noncurrent
DeferredTaxAssetsNetNoncurrent
|
34099000 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Net Noncurrent
DeferredTaxAssetsNetNoncurrent
|
34090000 | |
CY2019Q2 | expo |
Deferred Compensation Plan Assets Noncurrent
DeferredCompensationPlanAssetsNoncurrent
|
63484000 | |
CY2018Q4 | expo |
Deferred Compensation Plan Assets Noncurrent
DeferredCompensationPlanAssetsNoncurrent
|
52286000 | |
CY2019Q2 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
949000 | |
CY2018Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
1238000 | |
CY2019Q2 | us-gaap |
Assets
Assets
|
520641000 | |
CY2018Q4 | us-gaap |
Assets
Assets
|
468936000 | |
CY2019Q2 | us-gaap |
Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
|
19678000 | |
CY2018Q4 | us-gaap |
Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
|
12283000 | |
CY2019Q2 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
58910000 | |
CY2018Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
76855000 | |
CY2019Q2 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
8550000 | |
CY2018Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
9166000 | |
CY2019Q2 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
5746000 | |
CY2019Q2 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
92884000 | |
CY2018Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
98304000 | |
CY2019Q2 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
2846000 | |
CY2018Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
2548000 | |
CY2019Q2 | us-gaap |
Deferred Compensation Liability Classified Noncurrent
DeferredCompensationLiabilityClassifiedNoncurrent
|
63391000 | |
CY2018Q4 | us-gaap |
Deferred Compensation Liability Classified Noncurrent
DeferredCompensationLiabilityClassifiedNoncurrent
|
52708000 | |
CY2018Q4 | us-gaap |
Deferred Rent Credit Noncurrent
DeferredRentCreditNoncurrent
|
1467000 | |
CY2019Q2 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
17668000 | |
CY2019Q2 | us-gaap |
Liabilities
Liabilities
|
176789000 | |
CY2018Q4 | us-gaap |
Liabilities
Liabilities
|
155027000 | |
CY2019Q2 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.001 | |
CY2018Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.001 | |
CY2019Q2 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
120000000 | |
CY2018Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
120000000 | |
CY2019Q2 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
65707000 | |
CY2018Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
65707000 | |
CY2019Q2 | us-gaap |
Common Stock Value
CommonStockValue
|
66000 | |
CY2018Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
66000 | |
CY2019Q2 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
240930000 | |
CY2018Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
227283000 | |
CY2019Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
|
358000 | |
CY2018Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
|
-45000 | |
CY2019Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
|
-2932000 | |
CY2018Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
|
-2808000 | |
CY2019Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-2574000 | |
CY2018Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-2853000 | |
CY2019Q2 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
362959000 | |
CY2018Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
342024000 | |
CY2019Q2 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
13788000 | |
CY2018Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
14208000 | |
CY2019Q2 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
257529000 | |
CY2018Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
252611000 | |
CY2019Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
343852000 | |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
313909000 | |
CY2019Q2 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
520641000 | |
CY2018Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
468936000 | |
CY2019Q2 | expo |
Revenue Before Reimbursements
RevenueBeforeReimbursements
|
100263000 | |
CY2018Q2 | expo |
Revenue Before Reimbursements
RevenueBeforeReimbursements
|
89972000 | |
expo |
Revenue From Reimbursement
RevenueFromReimbursement
|
11873000 | ||
expo |
Revenue From Reimbursement
RevenueFromReimbursement
|
11422000 | ||
CY2019Q2 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
106506000 | |
CY2018Q2 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
95621000 | |
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
205537000 | ||
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
192078000 | ||
CY2019Q2 | us-gaap |
Labor And Related Expense
LaborAndRelatedExpense
|
61997000 | |
CY2018Q2 | us-gaap |
Labor And Related Expense
LaborAndRelatedExpense
|
55458000 | |
us-gaap |
Other Cost And Expense Operating
OtherCostAndExpenseOperating
|
16103000 | ||
us-gaap |
Other Cost And Expense Operating
OtherCostAndExpenseOperating
|
15031000 | ||
CY2019Q2 | expo |
Cost Incurred From Reimbursable Expense
CostIncurredFromReimbursableExpense
|
6243000 | |
CY2018Q2 | expo |
Cost Incurred From Reimbursable Expense
CostIncurredFromReimbursableExpense
|
5649000 | |
expo |
Cost Incurred From Reimbursable Expense
CostIncurredFromReimbursableExpense
|
11873000 | ||
expo |
Cost Incurred From Reimbursable Expense
CostIncurredFromReimbursableExpense
|
11422000 | ||
CY2019Q2 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
5348000 | |
CY2018Q2 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
4470000 | |
us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
9894000 | ||
us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
8512000 | ||
CY2019Q2 | us-gaap |
Operating Expenses
OperatingExpenses
|
81683000 | |
CY2018Q2 | us-gaap |
Operating Expenses
OperatingExpenses
|
73143000 | |
us-gaap |
Operating Expenses
OperatingExpenses
|
164960000 | ||
us-gaap |
Operating Expenses
OperatingExpenses
|
148002000 | ||
CY2019Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
24823000 | |
CY2018Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
22478000 | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
40577000 | ||
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
44076000 | ||
CY2019Q2 | us-gaap |
Investment Income Net
InvestmentIncomeNet
|
924000 | |
CY2018Q2 | us-gaap |
Investment Income Net
InvestmentIncomeNet
|
543000 | |
us-gaap |
Investment Income Net
InvestmentIncomeNet
|
1979000 | ||
us-gaap |
Investment Income Net
InvestmentIncomeNet
|
1073000 | ||
CY2019Q2 | us-gaap |
Other Nonoperating Income
OtherNonoperatingIncome
|
3104000 | |
CY2018Q2 | us-gaap |
Other Nonoperating Income
OtherNonoperatingIncome
|
1898000 | |
us-gaap |
Other Nonoperating Income
OtherNonoperatingIncome
|
9617000 | ||
us-gaap |
Other Nonoperating Income
OtherNonoperatingIncome
|
2220000 | ||
CY2019Q2 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
4028000 | |
CY2018Q2 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
2441000 | |
us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
11596000 | ||
us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
3293000 | ||
CY2019Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
28851000 | |
CY2018Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
24919000 | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
52173000 | ||
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
47369000 | ||
CY2019Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
7857000 | |
CY2018Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
6494000 | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
8467000 | ||
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
8604000 | ||
CY2019Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
20994000 | |
CY2018Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
18425000 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
43706000 | ||
us-gaap |
Net Income Loss
NetIncomeLoss
|
38765000 | ||
CY2019Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.40 | |
CY2018Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.35 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.83 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.73 | ||
CY2019Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.39 | |
CY2018Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.34 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.81 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.72 | ||
CY2019Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52745000 | |
CY2018Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
53008000 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52641000 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52876000 | ||
CY2019Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
53872000 | |
CY2018Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54195000 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
53849000 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54111000 | ||
CY2019Q2 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.16 | |
CY2018Q2 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.13 | |
us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.32 | ||
us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.26 | ||
CY2019Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
20994000 | |
CY2018Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
18425000 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
43706000 | ||
us-gaap |
Net Income Loss
NetIncomeLoss
|
38765000 | ||
CY2019Q2 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-241000 | |
CY2018Q2 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-1368000 | |
us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-124000 | ||
us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-629000 | ||
CY2019Q2 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
249000 | |
CY2018Q2 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
19000 | |
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
403000 | ||
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-21000 | ||
CY2019Q2 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
21002000 | |
CY2018Q2 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
17076000 | |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
43985000 | ||
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
38115000 | ||
CY2019Q1 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
3663000 | |
CY2019Q1 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
117000 | |
CY2019Q1 | us-gaap |
Stock Granted During Period Value Sharebased Compensation
StockGrantedDuringPeriodValueSharebasedCompensation
|
7947000 | |
CY2019Q1 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
-11194000 | |
CY2019Q1 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
154000 | |
CY2019Q1 | us-gaap |
Dividends
Dividends
|
8503000 | |
CY2019Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
22712000 | |
CY2019Q2 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
473000 | |
CY2019Q2 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1685000 | |
CY2019Q2 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-241000 | |
CY2019Q2 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
11000 | |
CY2019Q2 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
249000 | |
CY2019Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
20994000 | |
CY2019Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
343852000 | |
CY2017Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
289088000 | |
CY2018Q1 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
310000 | |
CY2018Q1 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
4057000 | |
CY2018Q1 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
739000 | |
CY2018Q1 | us-gaap |
Stock Granted During Period Value Sharebased Compensation
StockGrantedDuringPeriodValueSharebasedCompensation
|
7643000 | |
CY2018Q1 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
-8637000 | |
CY2018Q1 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-40000 | |
CY2018Q1 | us-gaap |
Dividends
Dividends
|
6875000 | |
CY2018Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
20340000 | |
CY2018Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
306625000 | |
CY2018Q2 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
382000 | |
CY2018Q2 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1576000 | |
CY2018Q2 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-1368000 | |
CY2018Q2 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
0 | |
CY2018Q2 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
19000 | |
CY2018Q2 | us-gaap |
Dividends
Dividends
|
6893000 | |
CY2018Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
18425000 | |
CY2018Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
318766000 | |
us-gaap |
Profit Loss
ProfitLoss
|
43706000 | ||
us-gaap |
Profit Loss
ProfitLoss
|
38765000 | ||
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
3232000 | ||
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
3149000 | ||
us-gaap |
Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
|
298000 | ||
us-gaap |
Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
|
19000 | ||
expo |
Deferred Rent
DeferredRent
|
153000 | ||
us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
1786000 | ||
us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
782000 | ||
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
9741000 | ||
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
10033000 | ||
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-141000 | ||
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-1379000 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
25707000 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
7214000 | ||
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
1760000 | ||
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
4553000 | ||
expo |
Increase Decrease In Operation Lease Right Of Use Assets
IncreaseDecreaseInOperationLeaseRightOfUseAssets
|
209000 | ||
us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
6846000 | ||
us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
-3018000 | ||
us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
-11761000 | ||
us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
-8182000 | ||
us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
-616000 | ||
us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
-295000 | ||
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
24819000 | ||
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
27916000 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
12494000 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
8949000 | ||
us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
38693000 | ||
us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
19939000 | ||
us-gaap |
Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
|
31000000 | ||
us-gaap |
Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
|
16000000 | ||
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-20187000 | ||
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-12888000 | ||
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
11183000 | ||
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
8637000 | ||
us-gaap |
Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
|
845000 | ||
us-gaap |
Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
|
692000 | ||
CY2019Q2 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
1876000 | |
us-gaap |
Payments Of Dividends
PaymentsOfDividends
|
16899000 | ||
us-gaap |
Payments Of Dividends
PaymentsOfDividends
|
13732000 | ||
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-27237000 | ||
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-21677000 | ||
us-gaap |
Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
|
-2000 | ||
us-gaap |
Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
|
-372000 | ||
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-22607000 | ||
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-7021000 | ||
CY2018Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
127059000 | |
CY2017Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
124794000 | |
CY2019Q2 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
104452000 | |
CY2018Q2 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
117773000 | |
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> | ||
us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
4481000 | ||
CY2019Q2 | expo |
Subcontractor Fees Not Included In Revenues
SubcontractorFeesNotIncludedInRevenues
|
6200000 | |
expo |
Subcontractor Fees Not Included In Revenues
SubcontractorFeesNotIncludedInRevenues
|
10400000 | ||
CY2018Q2 | expo |
Subcontractor Fees Not Included In Revenues
SubcontractorFeesNotIncludedInRevenues
|
5800000 | |
expo |
Subcontractor Fees Not Included In Revenues
SubcontractorFeesNotIncludedInRevenues
|
11400000 | ||
CY2019Q2 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
163629000 | |
CY2019Q2 | us-gaap |
Deferred Compensation Liability Current And Noncurrent
DeferredCompensationLiabilityCurrentAndNoncurrent
|
69742000 | |
CY2019Q2 | us-gaap |
Liabilities Fair Value Disclosure
LiabilitiesFairValueDisclosure
|
69742000 | |
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 | |
CY2019Q2 | us-gaap |
Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
|
194075000 | |
CY2019Q2 | expo |
Available For Sale Securities Gross Unrealized Gain Accumulated In Investments
AvailableForSaleSecuritiesGrossUnrealizedGainAccumulatedInInvestments
|
423000 | |
CY2019Q2 | expo |
Available For Sale Securities Gross Unrealized Loss Accumulated In Investments
AvailableForSaleSecuritiesGrossUnrealizedLossAccumulatedInInvestments
|
24000 | |
CY2019Q2 | us-gaap |
Cash And Cash Equivalents Fair Value Disclosure
CashAndCashEquivalentsFairValueDisclosure
|
194474000 | |
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 | |
CY2019Q2 | us-gaap |
Available For Sale Securities Debt Maturities Within One Year Amortized Cost
AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
|
51880000 | |
CY2019Q2 | us-gaap |
Available For Sale Securities Debt Maturities Within One Year Fair Value
AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
|
51910000 | |
CY2019Q2 | expo |
Available For Sale Securities Debt Maturities In Next One To Two Years Amortized Cost
AvailableForSaleSecuritiesDebtMaturitiesInNextOneToTwoYearsAmortizedCost
|
37743000 | |
CY2019Q2 | expo |
Available For Sale Securities Debt Maturities In Next One To Two Years Fair Value
AvailableForSaleSecuritiesDebtMaturitiesInNextOneToTwoYearsFairValue
|
38112000 | |
CY2019Q2 | us-gaap |
Available For Sale Securities Amortized Cost
AvailableForSaleSecuritiesAmortizedCost
|
89623000 | |
CY2019Q2 | us-gaap |
Short Term Investments
ShortTermInvestments
|
90022000 | |
CY2019Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52745000 | |
CY2018Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
53008000 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52641000 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
52876000 | ||
CY2019Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
53872000 | |
CY2018Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54195000 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
53849000 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
54111000 | ||
CY2019Q2 | 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 | ||
us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | ||
CY2018Q2 | 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 | ||
CY2016Q4 | us-gaap |
Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
|
35000000 | |
CY2019Q1 | us-gaap |
Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
|
75000000 | |
CY2019Q2 | us-gaap |
Stock Repurchase Program Remaining Authorized Repurchase Amount1
StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
|
92462000 | |
CY2019Q2 | us-gaap |
Deferred Compensation Plan Assets
DeferredCompensationPlanAssets
|
69385000 | |
CY2018Q4 | us-gaap |
Deferred Compensation Plan Assets
DeferredCompensationPlanAssets
|
57778000 | |
CY2019Q2 | us-gaap |
Deferred Compensation Liability Current And Noncurrent
DeferredCompensationLiabilityCurrentAndNoncurrent
|
69742000 | |
CY2018Q4 | us-gaap |
Deferred Compensation Liability Current And Noncurrent
DeferredCompensationLiabilityCurrentAndNoncurrent
|
59349000 | |
CY2019Q2 | expo |
Change In Market Value Of Deferred Compensation Trust Assets
ChangeInMarketValueOfDeferredCompensationTrustAssets
|
2184000 | |
CY2018Q2 | expo |
Change In Market Value Of Deferred Compensation Trust Assets
ChangeInMarketValueOfDeferredCompensationTrustAssets
|
1043000 | |
expo |
Change In Market Value Of Deferred Compensation Trust Assets
ChangeInMarketValueOfDeferredCompensationTrustAssets
|
8053000 | ||
expo |
Change In Market Value Of Deferred Compensation Trust Assets
ChangeInMarketValueOfDeferredCompensationTrustAssets
|
737000 | ||
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
26152000 | ||
us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
5972000 | ||
us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
12217000 | ||
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
403000 | ||
us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
-21000 | ||
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
|
1978000 | ||
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
691000 | ||
CY2019Q2 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
5342000 | |
CY2018Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
4066000 | |
CY2019Q2 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
129735000 | |
CY2018Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
105814000 | |
us-gaap |
Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
|
13241000 | ||
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
205537000 | ||
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
192078000 | ||
CY2019Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
24823000 | |
CY2018Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
22478000 | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
40577000 | ||
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
44076000 | ||
CY2019Q2 | us-gaap |
Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
|
6900000 | |
CY2018Q2 | us-gaap |
Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
|
2139000 | |
CY2019Q2 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
106506000 | |
CY2018Q2 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
95621000 | |
us-gaap |
Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
|
8949000 | ||
CY2019Q2 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
1642000 | |
CY2018Q2 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
1594000 | |
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
3232000 | ||
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
3149000 | ||
CY2019Q2 | us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | |
us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | ||
CY2018Q2 | us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | |
us-gaap |
Concentration Risk Percentage1
ConcentrationRiskPercentage1
|
0.10 | ||
CY2019Q2 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
1747000 | |
us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
4281000 | ||
CY2019Q2 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P5Y6M | |
CY2019Q2 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.045 | |
CY2019Q2 | us-gaap |
Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
|
3110000 | |
CY2019Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
6173000 | |
CY2019Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
5129000 | |
CY2019Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
3985000 | |
CY2019Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
2601000 | |
CY2019Q2 | expo |
Lessee Operating Lease Liability Payments Due Year Six
LesseeOperatingLeaseLiabilityPaymentsDueYearSix
|
1693000 | |
CY2019Q2 | expo |
Lessee Operating Lease Liability Payments Due Year Seven
LesseeOperatingLeaseLiabilityPaymentsDueYearSeven
|
1491000 | |
CY2019Q2 | expo |
Lessee Operating Lease Liability Payments Due Year Eight
LesseeOperatingLeaseLiabilityPaymentsDueYearEight
|
1507000 | |
CY2019Q2 | expo |
Lessee Operating Lease Liability Payments Due Year Nine
LesseeOperatingLeaseLiabilityPaymentsDueYearNine
|
1466000 | |
CY2019Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
27155000 | |
CY2019Q2 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
3741000 | |
CY2019Q2 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
23414000 |