2020 Q1 Form 10-K Financial Statement
#000102240821000014 Filed on May 21, 2021
Income Statement
Concept | 2020 Q1 | 2019 Q1 | 2019 |
---|---|---|---|
Revenue | $366.5M | $325.4M | $1.373B |
YoY Change | 12.61% | -1.35% | -3.25% |
Cost Of Revenue | $274.7M | $244.2M | $1.042B |
YoY Change | 12.49% | -1.63% | -4.84% |
Gross Profit | $91.83M | $81.27M | $330.4M |
YoY Change | 12.98% | -0.4% | 2.13% |
Gross Profit Margin | 25.06% | 24.97% | 24.07% |
Selling, General & Admin | $69.78M | $62.68M | $237.1M |
YoY Change | 11.33% | 4.47% | 3.93% |
% of Gross Profit | 75.99% | 77.13% | 71.76% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $4.000M | $5.300M | $18.64M |
YoY Change | -24.53% | 17.78% | 17.77% |
% of Gross Profit | 4.36% | 6.52% | 5.64% |
Operating Expenses | $73.95M | $66.80M | $250.9M |
YoY Change | 10.7% | 6.37% | 4.85% |
Operating Profit | $17.88M | $14.47M | $79.53M |
YoY Change | 23.55% | -23.03% | -5.59% |
Interest Expense | $676.0K | $545.0K | $1.948M |
YoY Change | 24.04% | -281.67% | 63.01% |
% of Operating Profit | 3.78% | 3.77% | 2.45% |
Other Income/Expense, Net | -$232.0K | $5.556M | $6.696M |
YoY Change | -104.18% | -1952.0% | -2024.14% |
Pretax Income | $17.65M | $20.03M | $86.23M |
YoY Change | -11.88% | 10.03% | 2.79% |
Income Tax | $4.400M | $4.974M | $23.04M |
% Of Pretax Income | 24.93% | 24.84% | 26.72% |
Net Earnings | $13.25M | $15.05M | $63.19M |
YoY Change | -12.0% | 69.12% | 14.64% |
Net Earnings / Revenue | 3.61% | 4.63% | 4.6% |
Basic Earnings Per Share | $0.99 | $1.12 | $4.70 |
Diluted Earnings Per Share | $0.99 | $1.12 | $4.65 |
COMMON SHARES | |||
Basic Shares Outstanding | 13.51M | 13.45M | |
Diluted Shares Outstanding | 13.58M |
Balance Sheet
Concept | 2020 Q1 | 2019 Q1 | 2019 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $86.20M | $79.80M | $79.80M |
YoY Change | 8.02% | -32.49% | -32.49% |
Cash & Equivalents | $86.23M | $79.82M | $79.80M |
Short-Term Investments | |||
Other Short-Term Assets | $9.256M | $7.499M | $24.80M |
YoY Change | 23.43% | -81.35% | -38.31% |
Inventory | $50.27M | $50.49M | $50.50M |
Prepaid Expenses | $7.946M | $6.425M | |
Receivables | $375.0M | $299.9M | $299.9M |
Other Receivables | $106.7M | $105.1M | $105.1M |
Total Short-Term Assets | $649.8M | $560.1M | $560.1M |
YoY Change | 16.01% | -0.85% | -0.85% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $7.153M | $7.314M | $7.300M |
YoY Change | -2.2% | -2.48% | -2.67% |
Goodwill | $118.1M | $110.8M | |
YoY Change | 6.58% | 44.61% | |
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $32.60M | $17.33M | $10.00M |
YoY Change | 88.11% | 49.38% | -13.79% |
Total Long-Term Assets | $259.3M | $226.1M | $226.1M |
YoY Change | 14.69% | 18.64% | 18.63% |
TOTAL ASSETS | |||
Total Short-Term Assets | $649.8M | $560.1M | $560.1M |
Total Long-Term Assets | $259.3M | $226.1M | $226.1M |
Total Assets | $909.1M | $786.2M | $786.2M |
YoY Change | 15.63% | 4.07% | 4.06% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $82.92M | $86.80M | $202.9M |
YoY Change | -4.47% | -60.36% | -7.35% |
Accrued Expenses | $10.02M | $7.813M | $29.10M |
YoY Change | 28.3% | -72.2% | 3.56% |
Deferred Revenue | |||
YoY Change | |||
Short-Term Debt | $37.30M | $0.00 | $0.00 |
YoY Change | -100.0% | -100.0% | |
Long-Term Debt Due | $29.60M | $38.10M | $38.10M |
YoY Change | -22.31% | -6.85% | -6.85% |
Total Short-Term Liabilities | $386.6M | $328.9M | $328.9M |
YoY Change | 17.57% | -6.07% | -6.06% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $5.900M | $10.50M | $10.50M |
YoY Change | -43.81% | 3.96% | 3.96% |
Other Long-Term Liabilities | $27.73M | $17.68M | $17.70M |
YoY Change | 56.85% | -16.22% | -16.11% |
Total Long-Term Liabilities | $27.73M | $17.68M | $28.20M |
YoY Change | 56.85% | -43.34% | -9.62% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $386.6M | $328.9M | $328.9M |
Total Long-Term Liabilities | $27.73M | $17.68M | $28.20M |
Total Liabilities | $423.0M | $361.9M | $361.9M |
YoY Change | 16.86% | -5.47% | -5.48% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $410.2M | $341.1M | |
YoY Change | 20.25% | ||
Common Stock | $144.0K | $143.0K | |
YoY Change | 0.7% | ||
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $68.42M | $54.00M | |
YoY Change | 26.71% | ||
Treasury Stock Shares | $896.0K | $693.0K | |
Shareholders Equity | $486.1M | $424.3M | $424.3M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $909.1M | $786.2M | $786.2M |
YoY Change | 15.63% | 4.06% | 4.06% |
Cashflow Statement
Concept | 2020 Q1 | 2019 Q1 | 2019 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $13.25M | $15.05M | $63.19M |
YoY Change | -12.0% | 69.12% | 14.64% |
Depreciation, Depletion And Amortization | $4.000M | $5.300M | $18.64M |
YoY Change | -24.53% | 17.78% | 17.77% |
Cash From Operating Activities | $500.0K | $37.20M | $39.41M |
YoY Change | -98.66% | 9.41% | -52.38% |
INVESTING ACTIVITIES | |||
Capital Expenditures | $200.0K | $400.0K | -$22.00M |
YoY Change | -50.0% | -120.0% | 57.14% |
Acquisitions | $49.76M | ||
YoY Change | 31.94% | ||
Other Investing Activities | -$500.0K | -$48.60M | -$74.20M |
YoY Change | -98.97% | 5300.0% | 69.79% |
Cash From Investing Activities | -$300.0K | -$48.20M | -$96.21M |
YoY Change | -99.38% | 1562.07% | 66.8% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $18.75M | ||
YoY Change | -46.79% | ||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | 26.00M | 6.700M | 18.46M |
YoY Change | 288.06% | -39.09% | -210.09% |
NET CHANGE | |||
Cash From Operating Activities | 500.0K | 37.20M | 39.41M |
Cash From Investing Activities | -300.0K | -48.20M | -96.21M |
Cash From Financing Activities | 26.00M | 6.700M | 18.46M |
Net Change In Cash | 26.20M | -4.300M | -38.38M |
YoY Change | -709.3% | -110.21% | -554.87% |
FREE CASH FLOW | |||
Cash From Operating Activities | $500.0K | $37.20M | $39.41M |
Capital Expenditures | $200.0K | $400.0K | -$22.00M |
Free Cash Flow | $300.0K | $36.80M | $61.41M |
YoY Change | -99.18% | 2.22% | -36.54% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2021 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0001022408 | |
CY2021 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--03-31 | |
CY2021 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2021 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2021 | |
CY2021 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2021 | dei |
Entity Address Postal Zip Code
EntityAddressPostalZipCode
|
20171-3413 | |
CY2021 | dei |
City Area Code
CityAreaCode
|
703 | |
CY2021 | dei |
Local Phone Number
LocalPhoneNumber
|
984-8400 | |
CY2021 | dei |
Security12b Title
Security12bTitle
|
Common Stock, $.01 par value | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
||
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
CY2021Q1 | us-gaap |
Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherLiabilitiesCurrent | |
CY2021Q1 | us-gaap |
Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherLiabilitiesCurrent | |
CY2020Q1 | us-gaap |
Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherLiabilitiesCurrent | |
CY2020Q1 | us-gaap |
Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherLiabilitiesCurrent | |
CY2021 | dei |
Trading Symbol
TradingSymbol
|
PLUS | |
CY2021 | dei |
Security Exchange Name
SecurityExchangeName
|
NASDAQ | |
CY2021 | dei |
Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
|
Yes | |
CY2021 | dei |
Entity Voluntary Filers
EntityVoluntaryFilers
|
No | |
CY2021Q1 | us-gaap |
Operating Lease Liability Noncurrent Statement Of Financial Position Extensible List
OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherLiabilitiesNoncurrent | |
CY2021Q1 | us-gaap |
Operating Lease Liability Noncurrent Statement Of Financial Position Extensible List
OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherLiabilitiesNoncurrent | |
CY2020Q1 | us-gaap |
Operating Lease Liability Noncurrent Statement Of Financial Position Extensible List
OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherLiabilitiesNoncurrent | |
CY2020Q1 | us-gaap |
Operating Lease Liability Noncurrent Statement Of Financial Position Extensible List
OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherLiabilitiesNoncurrent | |
CY2021Q1 | us-gaap |
Operating Lease Right Of Use Asset Statement Of Financial Position Extensible List
OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherAssetsNoncurrent | |
CY2020Q1 | us-gaap |
Operating Lease Right Of Use Asset Statement Of Financial Position Extensible List
OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
|
us-gaap:OtherAssetsNoncurrent | |
CY2021 | dei |
Document Type
DocumentType
|
10-K | |
CY2021 | dei |
Document Annual Report
DocumentAnnualReport
|
true | |
CY2021 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2021-03-31 | |
CY2021 | dei |
Document Transition Report
DocumentTransitionReport
|
false | |
CY2021 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | |
CY2021 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | |
CY2021 | dei |
Entity Filer Category
EntityFilerCategory
|
Large Accelerated Filer | |
CY2021 | dei |
Entity Small Business
EntitySmallBusiness
|
false | |
CY2021 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2021Q1 | us-gaap |
Net Investment In Lease Current
NetInvestmentInLeaseCurrent
|
106272000 | |
CY2021 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2020Q3 | dei |
Entity Public Float
EntityPublicFloat
|
967253381 | |
CY2021Q2 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
13502767 | |
CY2020Q1 | us-gaap |
Net Investment In Lease Current
NetInvestmentInLeaseCurrent
|
70169000 | |
CY2021 | dei |
Entity File Number
EntityFileNumber
|
1-34167 | |
CY2021 | dei |
Entity Registrant Name
EntityRegistrantName
|
ePlus inc. | |
CY2021 | dei |
Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
|
DE | |
CY2021 | dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
54-1817218 | |
CY2021 | dei |
Entity Address Address Line1
EntityAddressAddressLine1
|
13595 Dulles Technology Drive | |
CY2021 | dei |
Entity Address City Or Town
EntityAddressCityOrTown
|
Herndon | |
CY2021 | dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
VA | |
CY2021Q1 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
1468000 | |
CY2020Q1 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
0 | |
CY2021 | us-gaap |
Provision For Loan And Lease Losses
ProvisionForLoanAndLeaseLosses
|
1436000 | |
CY2020 | us-gaap |
Provision For Loan And Lease Losses
ProvisionForLoanAndLeaseLosses
|
1004000 | |
CY2019 | us-gaap |
Provision For Loan And Lease Losses
ProvisionForLoanAndLeaseLosses
|
170000 | |
CY2021 | plus |
Contingent Consideration At Book Value
ContingentConsiderationAtBookValue
|
0 | |
CY2021 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
27034000 | |
CY2020 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
15035000 | |
CY2019 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
49764000 | |
CY2021 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">USE OF ESTIMATES — The preparation of financial statements in conformity with accounting principles generally accepted in the US requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods. Estimates are used when accounting for items and matters including, but not limited to, revenue recognition, residual asset values, vendor consideration, lease classification, goodwill and intangibles, allowance for credit losses, inventory obsolescence, and the recognition and measurement of income tax assets and other provisions and contingencies. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. Actual results may differ from these estimates.</div> | |
CY2021Q1 | plus |
Amounts Held In Trust For Third Party Recipients
AmountsHeldInTrustForThirdPartyRecipients
|
700000 | |
CY2021 | us-gaap |
Financing Receivable Allowance For Credit Losses Policy For Uncollectible Amounts
FinancingReceivableAllowanceForCreditLossesPolicyForUncollectibleAmounts
|
<div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">ALLOWANCE FOR CREDIT LOSSES — We maintain an allowance for credit losses related to our accounts receivable and financing receivables. We record an expense in the amount necessary to adjust the allowance for credit losses to our current estimate of expected credit losses on financial assets. We estimate expected credit losses based on our internal rating of the customer’s credit quality, our historical credit losses, current economic conditions, and other relevant factors. Prior to providing credit, we assign an internal rating for each customer’s credit quality based on the customer’s financial status, rating agency reports and other financial information. We review our internal ratings for each customer at least annually or when there is an indicator of a change in credit quality, such as a delinquency or bankruptcy. We write off financing receivables when we deem them to be uncollectable. Through the year ended March 31, 2021, we recognized an increase in the allowance to reflect the forecasted credit deterioration due to the COVID-19 pandemic.</div> | |
CY2020Q1 | plus |
Amounts Held In Trust For Third Party Recipients
AmountsHeldInTrustForThirdPartyRecipients
|
0 | |
CY2021 | us-gaap |
Concentration Risk Credit Risk
ConcentrationRiskCreditRisk
|
<div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">CONCENTRATIONS OF RISK — Financial instruments that potentially subject us to concentrations of credit risk include cash and cash equivalents, short-term investments, accounts receivable, and financing receivables. Cash and cash equivalents may include short-term investments that are maintained principally with financial institutions in the US. Our accounts receivable-trade balance as of March 31, 2021, and 2020 included approximately 20% concentration of invoices due from Verizon Communications Inc. The risk on our accounts receivable and financing receivables is reduced by having a broad customer base in a diverse range of industries and through the ongoing evaluation of collectability of our portfolio. The credit risk is further mitigated by transferring certain of our financing receivables to financial institutions on a non-recourse basis and, for our lease receivables, by owning the underlying asset. A substantial portion of our sales are products from Cisco Systems, which represented approximately 36%, 40%, and 42%, of our technology segment net sales for the years ended March 31, 2021, 2020, and 2019, respectively.</div> | |
CY2021 | us-gaap |
Foreign Currency Transaction Gain Loss Realized
ForeignCurrencyTransactionGainLossRealized
|
500000 | |
CY2020 | us-gaap |
Foreign Currency Transaction Gain Loss Realized
ForeignCurrencyTransactionGainLossRealized
|
-400000 | |
CY2019 | us-gaap |
Foreign Currency Transaction Gain Loss Realized
ForeignCurrencyTransactionGainLossRealized
|
400000 | |
CY2021Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Gross
PropertySubjectToOrAvailableForOperatingLeaseGross
|
18748000 | |
CY2021Q1 | plus |
Amount Due From Vendors
AmountDueFromVendors
|
18200000 | |
CY2020Q1 | plus |
Amount Due From Vendors
AmountDueFromVendors
|
20800000 | |
CY2020Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Gross
PropertySubjectToOrAvailableForOperatingLeaseGross
|
21276000 | |
CY2021Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Accumulated Depreciation
PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation
|
7870000 | |
CY2020Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Accumulated Depreciation
PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation
|
11159000 | |
CY2021Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Net
PropertySubjectToOrAvailableForOperatingLeaseNet
|
10878000 | |
CY2020Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Net
PropertySubjectToOrAvailableForOperatingLeaseNet
|
10117000 | |
CY2021Q1 | plus |
Unguaranteed Estimated Residual Value Of Operating Lease Equipment
UnguaranteedEstimatedResidualValueOfOperatingLeaseEquipment
|
2500000 | |
CY2020Q1 | plus |
Unguaranteed Estimated Residual Value Of Operating Lease Equipment
UnguaranteedEstimatedResidualValueOfOperatingLeaseEquipment
|
3100000 | |
CY2021Q1 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
54600000 | |
CY2020Q1 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
33100000 | |
CY2019Q1 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
16200000 | |
CY2021Q1 | plus |
Contract With Customer Liability Current Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityCurrentExcludingDeferredRevenueOnOperatingLeases
|
72299000 | |
CY2020Q1 | plus |
Contract With Customer Liability Current Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityCurrentExcludingDeferredRevenueOnOperatingLeases
|
54486000 | |
CY2019Q1 | plus |
Contract With Customer Liability Current Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityCurrentExcludingDeferredRevenueOnOperatingLeases
|
46356000 | |
CY2021Q1 | plus |
Contract With Customer Liability Noncurrent Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityNoncurrentExcludingDeferredRevenueOnOperatingLeases
|
26042000 | |
CY2020Q1 | plus |
Contract With Customer Liability Noncurrent Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityNoncurrentExcludingDeferredRevenueOnOperatingLeases
|
16395000 | |
CY2019Q1 | plus |
Contract With Customer Liability Noncurrent Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityNoncurrentExcludingDeferredRevenueOnOperatingLeases
|
13593000 | |
CY2021 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
42200000 | |
CY2020 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
53500000 | |
CY2021Q1 | us-gaap |
Lessor Operating Lease Payments To Be Received Next Twelve Months
LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths
|
4744000 | |
CY2021Q1 | us-gaap |
Lessor Operating Lease Payments To Be Received Two Years
LessorOperatingLeasePaymentsToBeReceivedTwoYears
|
3756000 | |
CY2021Q1 | us-gaap |
Lessor Operating Lease Payments To Be Received Three Years
LessorOperatingLeasePaymentsToBeReceivedThreeYears
|
1034000 | |
CY2021Q1 | us-gaap |
Lessor Operating Lease Payments To Be Received Four Years
LessorOperatingLeasePaymentsToBeReceivedFourYears
|
37000 | |
CY2021Q1 | us-gaap |
Lessor Operating Lease Payments To Be Received
LessorOperatingLeasePaymentsToBeReceived
|
9571000 | |
CY2021Q1 | us-gaap |
Pledged Assets Not Separately Reported Finance Receivables
PledgedAssetsNotSeparatelyReportedFinanceReceivables
|
60500000 | |
CY2020Q1 | us-gaap |
Pledged Assets Not Separately Reported Finance Receivables
PledgedAssetsNotSeparatelyReportedFinanceReceivables
|
34600000 | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
38097000 | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
16560000 | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
7784000 | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
794000 | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
246000 | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
63481000 | |
CY2021Q1 | plus |
Pledged Assets Not Separately Reported Operating Leases
PledgedAssetsNotSeparatelyReportedOperatingLeases
|
3300000 | |
CY2020Q1 | plus |
Pledged Assets Not Separately Reported Operating Leases
PledgedAssetsNotSeparatelyReportedOperatingLeases
|
6700000 | |
CY2021 | us-gaap |
Gain Loss On Sale Of Loans And Leases
GainLossOnSaleOfLoansAndLeases
|
14500000 | |
CY2020 | us-gaap |
Gain Loss On Sale Of Loans And Leases
GainLossOnSaleOfLoansAndLeases
|
21800000 | |
CY2019 | us-gaap |
Gain Loss On Sale Of Loans And Leases
GainLossOnSaleOfLoansAndLeases
|
9100000 | |
CY2021 | us-gaap |
Proceeds From Sale Of Finance Receivables
ProceedsFromSaleOfFinanceReceivables
|
364000000.0 | |
CY2020 | us-gaap |
Proceeds From Sale Of Finance Receivables
ProceedsFromSaleOfFinanceReceivables
|
593700000 | |
CY2019 | us-gaap |
Proceeds From Sale Of Finance Receivables
ProceedsFromSaleOfFinanceReceivables
|
276100000 | |
CY2020Q1 | us-gaap |
Deferred Revenue
DeferredRevenue
|
400000 | |
CY2021Q1 | us-gaap |
Deferred Revenue
DeferredRevenue
|
400000 | |
CY2021 | us-gaap |
Sales Type Lease Revenue
SalesTypeLeaseRevenue
|
27196000 | |
CY2020 | us-gaap |
Sales Type Lease Revenue
SalesTypeLeaseRevenue
|
15631000 | |
CY2021 | us-gaap |
Cost Of Goods Sold Sales Type Lease
CostOfGoodsSoldSalesTypeLease
|
17855000 | |
CY2020 | us-gaap |
Cost Of Goods Sold Sales Type Lease
CostOfGoodsSoldSalesTypeLease
|
13039000 | |
CY2021 | us-gaap |
Sales Type Lease Selling Profit Loss
SalesTypeLeaseSellingProfitLoss
|
9341000 | |
CY2020 | us-gaap |
Sales Type Lease Selling Profit Loss
SalesTypeLeaseSellingProfitLoss
|
2592000 | |
CY2021 | us-gaap |
Sales Type Lease Interest Income
SalesTypeLeaseInterestIncome
|
7602000 | |
CY2020 | us-gaap |
Sales Type Lease Interest Income
SalesTypeLeaseInterestIncome
|
6623000 | |
CY2021 | us-gaap |
Operating Lease Lease Income
OperatingLeaseLeaseIncome
|
15864000 | |
CY2021 | us-gaap |
Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
|
6100000 | |
CY2020 | us-gaap |
Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
|
5600000 | |
CY2021Q1 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P32M | |
CY2020Q1 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P38M | |
CY2021Q1 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.037 | |
CY2020Q1 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.039 | |
CY2020 | us-gaap |
Operating Lease Lease Income
OperatingLeaseLeaseIncome
|
18534000 | |
CY2021Q1 | us-gaap |
Direct Financing Lease Unguaranteed Residual Asset
DirectFinancingLeaseUnguaranteedResidualAsset
|
9453000 | |
CY2020Q1 | us-gaap |
Direct Financing Lease Unguaranteed Residual Asset
DirectFinancingLeaseUnguaranteedResidualAsset
|
14972000 | |
CY2021Q1 | us-gaap |
Sales Type And Direct Financing Leases Lease Receivable Payments To Be Received Next Twelve Months
SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths
|
36900000 | |
CY2021Q1 | us-gaap |
Sales Type And Direct Financing Leases Lease Receivable Payments To Be Received Two Years
SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears
|
16358000 | |
CY2021Q1 | us-gaap |
Sales Type And Direct Financing Leases Lease Receivable Payments To Be Received Three Years
SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears
|
9628000 | |
CY2021Q1 | us-gaap |
Sales Type And Direct Financing Leases Lease Receivable Payments To Be Received Four Years
SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears
|
3356000 | |
CY2021Q1 | plus |
Sales Type And Direct Financing Leases Lease Receivable Payments To Be Received Five Years And Thereafter
SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYearsAndThereafter
|
2151000 | |
CY2021Q1 | us-gaap |
Sales Type And Direct Financing Leases Lease Receivable Payments To Be Received
SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived
|
68393000 | |
CY2021 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
8328000 | |
CY2020 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
7410000 | |
CY2020 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
7410000 | |
CY2021 | us-gaap |
Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
|
220000 | |
CY2021 | us-gaap |
Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
|
220000 | |
CY2020 | us-gaap |
Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
|
-120000 | |
CY2020 | us-gaap |
Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
|
-120000 | |
CY2021Q1 | us-gaap |
Goodwill Gross
GoodwillGross
|
135318000 | |
CY2021Q1 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
8673000 | |
CY2020Q1 | us-gaap |
Goodwill Gross
GoodwillGross
|
126770000 | |
CY2020Q1 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
8673000 | |
CY2021Q1 | us-gaap |
Goodwill
Goodwill
|
126645000 | |
CY2020Q1 | us-gaap |
Goodwill
Goodwill
|
118097000 | |
CY2021 | us-gaap |
Number Of Reporting Units
NumberOfReportingUnits
|
1 | |
CY2020 | us-gaap |
Number Of Reporting Units
NumberOfReportingUnits
|
1 | |
CY2021Q1 | us-gaap |
Goodwill
Goodwill
|
126600000 | |
CY2020Q1 | us-gaap |
Goodwill
Goodwill
|
118100000 | |
CY2021 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
8300000 | |
CY2021 | us-gaap |
Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
|
200000 | |
CY2021 | plus |
Percentage Change In The Fair Value
PercentageChangeInTheFairValue
|
0.10 | |
CY2018Q1 | us-gaap |
Financing Receivable Allowance For Credit Losses
FinancingReceivableAllowanceForCreditLosses
|
2664000 | |
CY2019 | us-gaap |
Provision For Loan Lease And Other Losses
ProvisionForLoanLeaseAndOtherLosses
|
335000 | |
CY2019 | us-gaap |
Financing Receivable Allowance For Credit Losses Write Offs
FinancingReceivableAllowanceForCreditLossesWriteOffs
|
385000 | |
CY2019Q1 | us-gaap |
Financing Receivable Allowance For Credit Losses
FinancingReceivableAllowanceForCreditLosses
|
2614000 | |
CY2020 | us-gaap |
Provision For Loan Lease And Other Losses
ProvisionForLoanLeaseAndOtherLosses
|
1004000 | |
CY2020 | us-gaap |
Financing Receivable Allowance For Credit Losses Write Offs
FinancingReceivableAllowanceForCreditLossesWriteOffs
|
429000 | |
CY2020Q1 | us-gaap |
Financing Receivable Allowance For Credit Losses
FinancingReceivableAllowanceForCreditLosses
|
3189000 | |
CY2021 | us-gaap |
Provision For Loan Lease And Other Losses
ProvisionForLoanLeaseAndOtherLosses
|
1436000 | |
CY2021 | us-gaap |
Financing Receivable Allowance For Credit Losses Write Offs
FinancingReceivableAllowanceForCreditLossesWriteOffs
|
178000 | |
CY2021Q1 | us-gaap |
Financing Receivable Allowance For Credit Losses
FinancingReceivableAllowanceForCreditLosses
|
4447000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
4006000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
3166000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
1323000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
884000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
34000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
9413000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
439000 | |
CY2021Q1 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
8974000 | |
CY2021Q1 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
87888000 | |
CY2021Q1 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
49274000 | |
CY2021Q1 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
38614000 | |
CY2020Q1 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
73391000 | |
CY2020Q1 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
38927000 | |
CY2020Q1 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
34464000 | |
CY2020Q1 | us-gaap |
Goodwill Gross
GoodwillGross
|
126770000 | |
CY2020Q1 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
8673000 | |
CY2020Q1 | us-gaap |
Goodwill
Goodwill
|
118097000 | |
CY2019Q1 | us-gaap |
Goodwill Gross
GoodwillGross
|
119480000 | |
CY2019Q1 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
8673000 | |
CY2019Q1 | us-gaap |
Goodwill
Goodwill
|
110807000 | |
CY2021 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
8328000 | |
CY2020Q1 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
13066000 | |
CY2021Q1 | us-gaap |
Other Assets Miscellaneous Noncurrent
OtherAssetsMiscellaneousNoncurrent
|
7075000 | |
CY2020Q1 | us-gaap |
Other Assets Miscellaneous Noncurrent
OtherAssetsMiscellaneousNoncurrent
|
1420000 | |
CY2021Q1 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
42289000 | |
CY2020Q1 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
32596000 | |
CY2021Q1 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
13598000 | |
CY2020Q1 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
10024000 | |
CY2021Q1 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
4439000 | |
CY2020Q1 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
406000 | |
CY2021Q1 | us-gaap |
Business Combination Contingent Consideration Liability Current
BusinessCombinationContingentConsiderationLiabilityCurrent
|
0 | |
CY2020Q1 | us-gaap |
Business Combination Contingent Consideration Liability Current
BusinessCombinationContingentConsiderationLiabilityCurrent
|
220000 | |
CY2021Q1 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
3934000 | |
CY2020Q1 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
4815000 | |
CY2021Q1 | us-gaap |
Other Sundry Liabilities Current
OtherSundryLiabilitiesCurrent
|
8090000 | |
CY2020Q1 | us-gaap |
Other Sundry Liabilities Current
OtherSundryLiabilitiesCurrent
|
7521000 | |
CY2021Q1 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
30061000 | |
CY2020Q1 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
22986000 | |
CY2021Q1 | plus |
Contract With Customer Liability Noncurrent Other
ContractWithCustomerLiabilityNoncurrentOther
|
26309000 | |
CY2020Q1 | plus |
Contract With Customer Liability Noncurrent Other
ContractWithCustomerLiabilityNoncurrentOther
|
16693000 | |
CY2021Q1 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
5040000 | |
CY2020Q1 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
8326000 | |
CY2021Q1 | us-gaap |
Other Sundry Liabilities Noncurrent
OtherSundryLiabilitiesNoncurrent
|
5330000 | |
CY2020Q1 | us-gaap |
Other Sundry Liabilities Noncurrent
OtherSundryLiabilitiesNoncurrent
|
2708000 | |
CY2021Q1 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
36679000 | |
CY2020Q1 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
27727000 | |
CY2021Q1 | us-gaap |
Line Of Credit Facility Maximum Borrowing Capacity
LineOfCreditFacilityMaximumBorrowingCapacity
|
275000000 | |
CY2021Q1 | us-gaap |
Financing Receivable Originated In Current Fiscal Year
FinancingReceivableOriginatedInCurrentFiscalYear
|
153825000 | |
CY2021Q1 | us-gaap |
Financing Receivable Originated In Fiscal Year Before Latest Fiscal Year
FinancingReceivableOriginatedInFiscalYearBeforeLatestFiscalYear
|
18085000 | |
CY2021Q1 | us-gaap |
Financing Receivable Originated Two Years Before Latest Fiscal Year
FinancingReceivableOriginatedTwoYearsBeforeLatestFiscalYear
|
4458000 | |
CY2021Q1 | us-gaap |
Financing Receivable Originated Three Years Before Latest Fiscal Year
FinancingReceivableOriginatedThreeYearsBeforeLatestFiscalYear
|
1512000 | |
CY2021Q1 | us-gaap |
Financing Receivable Originated Four Years Before Latest Fiscal Year
FinancingReceivableOriginatedFourYearsBeforeLatestFiscalYear
|
184000 | |
CY2021Q1 | us-gaap |
Notes Receivable Gross
NotesReceivableGross
|
178064000 | |
CY2021Q1 | plus |
Financing Receivable Transfers
FinancingReceivableTransfers
|
78427000 | |
CY2021Q1 | plus |
Finance Receivable Net Credit Exposure
FinanceReceivableNetCreditExposure
|
99637000 | |
CY2021Q1 | plus |
Net Investment In Direct Financing And Sale Type Leases Unguaranteed Residual Values Of Leased Property
NetInvestmentInDirectFinancingAndSaleTypeLeasesUnguaranteedResidualValuesOfLeasedProperty
|
9453000 | |
CY2021Q1 | plus |
Net Investment In Direct Financing And Sale Type Leases Initial Direct Cost
NetInvestmentInDirectFinancingAndSaleTypeLeasesInitialDirectCost
|
425000 | |
CY2021Q1 | us-gaap |
Financing Receivable Recorded Investment Past Due
FinancingReceivableRecordedInvestmentPastDue
|
3810000 | |
CY2021Q1 | us-gaap |
Financing Receivable Recorded Investment Current
FinancingReceivableRecordedInvestmentCurrent
|
5806000 | |
CY2021Q1 | us-gaap |
Billed Contract Receivables
BilledContractReceivables
|
9616000 | |
CY2021Q1 | us-gaap |
Unbilled Contracts Receivable
UnbilledContractsReceivable
|
168448000 | |
CY2021Q1 | us-gaap |
Notes Receivable Gross
NotesReceivableGross
|
178064000 | |
CY2021Q1 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
38229000 | |
CY2020Q1 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
35449000 | |
CY2021Q1 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
30841000 | |
CY2020Q1 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
28296000 | |
CY2021Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
7388000 | |
CY2020Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
7153000 | |
CY2021 | us-gaap |
Depreciation
Depreciation
|
5400000 | |
CY2020 | us-gaap |
Depreciation
Depreciation
|
4800000 | |
CY2019 | us-gaap |
Depreciation
Depreciation
|
4700000 | |
CY2021Q1 | us-gaap |
Escrow Deposit
EscrowDeposit
|
759000 | |
CY2020Q1 | us-gaap |
Escrow Deposit
EscrowDeposit
|
926000 | |
CY2021Q1 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
9939000 | |
CY2020Q1 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
7946000 | |
CY2021Q1 | us-gaap |
Other Assets Miscellaneous Current
OtherAssetsMiscellaneousCurrent
|
278000 | |
CY2020Q1 | us-gaap |
Other Assets Miscellaneous Current
OtherAssetsMiscellaneousCurrent
|
384000 | |
CY2021Q1 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
10976000 | |
CY2020Q1 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
9256000 | |
CY2021Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
7388000 | |
CY2020Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
7153000 | |
CY2021Q1 | us-gaap |
Deferred Costs
DeferredCosts
|
19063000 | |
CY2020Q1 | us-gaap |
Deferred Costs
DeferredCosts
|
10957000 | |
CY2021Q1 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
8763000 | |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
74397000 | |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
69082000 | |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
63192000 | |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13337000 | |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13327000 | |
CY2019 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13448000 | |
CY2021 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
80000 | |
CY2020 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
88000 | |
CY2019 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
130000 | |
CY2021 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13417000 | |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13415000 | |
CY2019 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13578000 | |
CY2021 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
5.58 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
5.18 | |
CY2019 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
4.70 | |
CY2021 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
5.54 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
5.15 | |
CY2019 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
4.65 | |
CY2021 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
3000000.0 | |
CY2020 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
2800000 | |
CY2019 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
2400000 | |
CY2019Q2 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
500000 | |
CY2020Q2 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
500000 | |
CY2021Q1 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
500000 | |
CY2021 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
59101 | |
CY2021 | us-gaap |
Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
|
71.83 | |
CY2021 | us-gaap |
Stock Repurchased During Period Value
StockRepurchasedDuringPeriodValue
|
4200000 | |
CY2021 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
37640 | |
CY2021 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
2700000 | |
CY2020 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
161976 | |
CY2020 | us-gaap |
Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
|
70.39 | |
CY2020 | us-gaap |
Stock Repurchased During Period Value
StockRepurchasedDuringPeriodValue
|
11400000 | |
CY2020 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
41817 | |
CY2020 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
3000000.0 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
|
0 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
|
0 | |
CY2020Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
0 | |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
|
0 | |
CY2021Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
0 | |
CY2019Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
0 | |
CY2021 | us-gaap |
Unrecognized Tax Benefits Period Increase Decrease
UnrecognizedTaxBenefitsPeriodIncreaseDecrease
|
0 | |
CY2021 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
7200000 | |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
8000000.0 | |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
7200000 | |
CY2021 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
2200000 | |
CY2020 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
2200000 | |
CY2019 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
2000000.0 | |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | |
CY2021 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
22450000 | |
CY2020 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
20182000 | |
CY2019 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
18139000 | |
CY2020Q1 | us-gaap |
Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
|
817000 | |
CY2021Q1 | plus |
Deferred Tax Liabilities Lease Right Of Use Assets
DeferredTaxLiabilitiesLeaseRightOfUseAssets
|
2419000 | |
CY2020Q1 | plus |
Deferred Tax Liabilities Lease Right Of Use Assets
DeferredTaxLiabilitiesLeaseRightOfUseAssets
|
2535000 | |
CY2021Q1 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Goodwill
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
|
751000 | |
CY2020Q1 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Goodwill
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
|
270000 | |
CY2021Q1 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
13421000 | |
CY2021 | us-gaap |
Tax Cuts And Jobs Act Of2017 Change In Tax Rate Income Tax Expense Benefit
TaxCutsAndJobsActOf2017ChangeInTaxRateIncomeTaxExpenseBenefit
|
0 | |
CY2020 | us-gaap |
Tax Cuts And Jobs Act Of2017 Change In Tax Rate Income Tax Expense Benefit
TaxCutsAndJobsActOf2017ChangeInTaxRateIncomeTaxExpenseBenefit
|
0 | |
CY2019 | us-gaap |
Tax Cuts And Jobs Act Of2017 Change In Tax Rate Income Tax Expense Benefit
TaxCutsAndJobsActOf2017ChangeInTaxRateIncomeTaxExpenseBenefit
|
0 | |
CY2021 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
6941000 | |
CY2020 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
5659000 | |
CY2019 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
4795000 | |
CY2021 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
2052000 | |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
613000 | |
CY2020Q1 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
15822000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
1468000 | |
CY2019 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
630000 | |
CY2021 | us-gaap |
Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
|
1066000 | |
CY2020 | us-gaap |
Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
|
423000 | |
CY2019 | us-gaap |
Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
|
-526000 | |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
32509000 | |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
26877000 | |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
23038000 | |
CY2021 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.304 | |
CY2020 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.280 | |
CY2019 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.267 | |
CY2021 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
26054000 | |
CY2020 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
19367000 | |
CY2019 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
12709000 | |
CY2021 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
9882000 | |
CY2020 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
9520000 | |
CY2019 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
6591000 | |
CY2021 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
770000 | |
CY2020 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
200000 | |
CY2019 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
454000 | |
CY2021 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
36706000 | |
CY2020 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
29087000 | |
CY2019 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
19754000 | |
CY2021 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-3067000 | |
CY2020 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-492000 | |
CY2019 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
3826000 | |
CY2021 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-1096000 | |
CY2020 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-1799000 | |
CY2019 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-249000 | |
CY2021 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-34000 | |
CY2020 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
81000 | |
CY2019 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-293000 | |
CY2021 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-4197000 | |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-2210000 | |
CY2019 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
3284000 | |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
32509000 | |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
26877000 | |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
23038000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Compensated Absences
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences
|
2537000 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Compensated Absences
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences
|
1966000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
|
4227000 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
|
3175000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
1048000 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
792000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
772000 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
1575000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Other
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
|
1552000 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Other
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
|
608000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Bonuses
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses
|
2277000 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Bonuses
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses
|
2426000 | |
CY2021Q1 | plus |
Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
|
2476000 | |
CY2020Q1 | plus |
Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
|
2550000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Other Loss Carryforwards
DeferredTaxAssetsOtherLossCarryforwards
|
0 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Other Loss Carryforwards
DeferredTaxAssetsOtherLossCarryforwards
|
1385000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
14889000 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
14477000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
0 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
1385000 | |
CY2020Q1 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
2730000 | |
CY2021Q1 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
14889000 | |
CY2020Q1 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
13092000 | |
CY2021Q1 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
2391000 | |
CY2020Q1 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
2102000 | |
CY2021Q1 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
6948000 | |
CY2020Q1 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
10098000 | |
CY2021Q1 | us-gaap |
Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
|
912000 | |
CY2021Q1 | us-gaap |
Money Market Funds At Carrying Value
MoneyMarketFundsAtCarryingValue
|
45134000 | |
CY2020Q1 | us-gaap |
Money Market Funds At Carrying Value
MoneyMarketFundsAtCarryingValue
|
128000 | |
CY2020Q1 | plus |
Contingent Consideration At Fair Value
ContingentConsiderationAtFairValue
|
220000 | |
CY2021 | us-gaap |
Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
0 | |
CY2020Q3 | us-gaap |
Payment For Contingent Consideration Liability Investing Activities
PaymentForContingentConsiderationLiabilityInvestingActivities
|
219000 | |
CY2020 | us-gaap |
Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
1400000 | |
CY2020 | us-gaap |
Payment For Contingent Consideration Liability Investing Activities
PaymentForContingentConsiderationLiabilityInvestingActivities
|
10100000 | |
CY2021 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
2 | |
CY2021 | us-gaap |
Revenues
Revenues
|
1568323000 | |
CY2020 | us-gaap |
Revenues
Revenues
|
1588404000 | |
CY2019 | us-gaap |
Revenues
Revenues
|
1372673000 | |
CY2021 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
1174769000 | |
CY2020 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
1197213000 | |
CY2019 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
1042285000 | |
CY2021 | us-gaap |
Gross Profit
GrossProfit
|
393554000 | |
CY2020 | us-gaap |
Gross Profit
GrossProfit
|
391191000 | |
CY2019 | us-gaap |
Gross Profit
GrossProfit
|
330388000 | |
CY2021 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
271263000 | |
CY2020 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
279182000 | |
CY2019 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
237082000 | |
CY2021 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
13951000 | |
CY2020 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
14156000 | |
CY2019 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
11824000 | |
CY2021 | us-gaap |
Interest Expense
InterestExpense
|
2005000 | |
CY2020 | us-gaap |
Interest Expense
InterestExpense
|
2574000 | |
CY2019 | us-gaap |
Interest Expense
InterestExpense
|
1948000 | |
CY2021 | us-gaap |
Operating Expenses
OperatingExpenses
|
287219000 | |
CY2020 | us-gaap |
Operating Expenses
OperatingExpenses
|
295912000 | |
CY2019 | us-gaap |
Operating Expenses
OperatingExpenses
|
250854000 | |
CY2021 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
106335000 | |
CY2020 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
95279000 | |
CY2019 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
79534000 | |
CY2021 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
571000 | |
CY2020 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
680000 | |
CY2019 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
6696000 | |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
106906000 | |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
95959000 | |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
86230000 | |
CY2021 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
1496473000 | |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
1519096000 | |
CY2019 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
1311982000 | |
CY2021 | plus |
Financing And Other
FinancingAndOther
|
71850000 | |
CY2020 | plus |
Financing And Other
FinancingAndOther
|
69308000 | |
CY2019 | plus |
Financing And Other
FinancingAndOther
|
60691000 | |
CY2021 | us-gaap |
Revenues
Revenues
|
1568323000 | |
CY2020 | us-gaap |
Revenues
Revenues
|
1588404000 | |
CY2019 | us-gaap |
Revenues
Revenues
|
1372673000 | |
CY2021 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
19991000 | |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
19156000 | |
CY2019 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
18639000 | |
CY2021 | plus |
Purchases Of Property Equipment And Operating Lease Equipment And Assets To Be Leased Or Financed
PurchasesOfPropertyEquipmentAndOperatingLeaseEquipmentAndAssetsToBeLeasedOrFinanced
|
11513000 | |
CY2020 | plus |
Purchases Of Property Equipment And Operating Lease Equipment And Assets To Be Leased Or Financed
PurchasesOfPropertyEquipmentAndOperatingLeaseEquipmentAndAssetsToBeLeasedOrFinanced
|
7009000 | |
CY2019 | plus |
Purchases Of Property Equipment And Operating Lease Equipment And Assets To Be Leased Or Financed
PurchasesOfPropertyEquipmentAndOperatingLeaseEquipmentAndAssetsToBeLeasedOrFinanced
|
11629000 | |
CY2021Q1 | us-gaap |
Assets
Assets
|
1076775000 | |
CY2020Q1 | us-gaap |
Assets
Assets
|
909113000 | |
CY2019Q1 | us-gaap |
Assets
Assets
|
786198000 | |
CY2021 | us-gaap |
Revenues
Revenues
|
1568323000 | |
CY2020 | us-gaap |
Revenues
Revenues
|
1588404000 | |
CY2019 | us-gaap |
Revenues
Revenues
|
1372673000 | |
CY2021Q1 | us-gaap |
Noncurrent Assets
NoncurrentAssets
|
34435000 | |
CY2020Q1 | us-gaap |
Noncurrent Assets
NoncurrentAssets
|
39530000 | |
CY2021 | plus |
Sales Returns Reserve For Sales Returns
SalesReturnsReserveForSalesReturns
|
7400000 | |
CY2020 | plus |
Sales Returns Reserve For Sales Returns
SalesReturnsReserveForSalesReturns
|
6500000 | |
CY2019 | plus |
Sales Returns Reserve For Sales Returns
SalesReturnsReserveForSalesReturns
|
5300000 |