XML 55 R40.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Nature of Business and Significant Accounting Policies - ASC 606 (Details) - USD ($) $ in Thousands | 3 Months Ended | 12 Months Ended |
--- | --- | --- | ---
Dec. 31, 2018 | Sep. 30, 2018 | Jun. 30, 2018 | Mar. 31, 2018 | Dec. 31, 2017 | Sep. 30, 2017 | Jun. 30, 2017 | Mar. 31, 2017 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016 | Jan. 01, 2018
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |
Receivables, net | $ 60,004 |  |  |  | $ 55,760 |  |  |  | $ 60,004 | $ 55,760 |  | $ 56,250
Unbilled receivables, net | 41,255 |  |  |  | 42,577 |  |  |  | 41,255 | 42,577 |  | 45,961
Inventories, net | 166,392 |  |  |  | 132,591 |  |  |  | 166,392 | 132,591 |  | 130,834
Accounts payable | 57,408 |  |  |  | 66,015 |  |  |  | 57,408 | 66,015 |  | 65,517
Accrued expenses and other current liabilities | 37,133 |  |  |  | 40,243 |  |  |  | 37,133 | 40,243 |  | 40,898
Deferred tax liabilities | 18,482 |  |  |  | 19,423 |  |  |  | 18,482 | 19,423 |  | 19,918
Retained earnings | 301,073 |  |  |  | 267,902 |  |  |  | 301,073 | 267,902 |  | 269,367
Revenues | 180,996 | $ 168,931 | $ 170,394 | $ 176,897 | 194,795 | $ 174,164 | $ 193,860 | $ 197,294 | 697,218 | 760,113 | $ 691,790 |
Provision for income taxes |  |  |  |  |  |  |  |  | 10,168 | 5,989 | 14,881 |
Net income | 9,243 | $ 10,034 | $ 8,751 | $ 7,052 | 17,357 | $ 6,639 | $ 7,807 | $ 7,293 | 35,080 | 39,096 | 26,793 |
Deferred taxes |  |  |  |  |  |  |  |  | (1,371) | (10,534) | (1,146) |
Receivables, net |  |  |  |  |  |  |  |  | (3,754) | (91) | (12,166) |
Unbilled receivables, net |  |  |  |  |  |  |  |  | 4,706 | 2,972 | (10,581) |
Inventories, net |  |  |  |  |  |  |  |  | (35,558) | 3,749 | (27,217) |
Accounts payable and deferred compensation |  |  |  |  |  |  |  |  | (7,405) | (23,587) | 54,743 |
Accrued expenses and other current liabilities |  |  |  |  |  |  |  |  | (2,515) | 7,562 | 4,253 |
Net cash provided by operating activities |  |  |  |  |  |  |  |  | 18,855 | 50,420 | 47,193 |
Without Adoption of ASC 606 |  |  |  |  |  |  |  |  |  |  |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |
Receivables, net |  |  |  |  | 55,760 |  |  |  |  | 55,760 |  |
Unbilled receivables, net | 36,451 |  |  |  | 42,577 |  |  |  | 36,451 | 42,577 |  |
Inventories, net | 169,673 |  |  |  | 132,591 |  |  |  | 169,673 | 132,591 |  |
Accounts payable |  |  |  |  | 66,015 |  |  |  |  | 66,015 |  |
Accrued expenses and other current liabilities | 37,133 |  |  |  | 40,243 |  |  |  | 37,133 | 40,243 |  |
Deferred tax liabilities | 18,097 |  |  |  | 19,423 |  |  |  | 18,097 | 19,423 |  |
Retained earnings | $ 299,936 |  |  |  | $ 267,902 |  |  |  | 299,936 | 267,902 |  |
Provision for income taxes |  |  |  |  |  |  |  |  | 10,281 |  |  |
Net income |  |  |  |  |  |  |  |  | 35,406 |  |  |
Deferred taxes |  |  |  |  |  |  |  |  | (1,260) |  |  |
Receivables, net |  |  |  |  |  |  |  |  | (4,244) |  |  |
Unbilled receivables, net |  |  |  |  |  |  |  |  | 6,126 |  |  |
Inventories, net |  |  |  |  |  |  |  |  | (37,082) |  |  |
Accounts payable and deferred compensation |  |  |  |  |  |  |  |  | (7,903) |  |  |
Accrued expenses and other current liabilities |  |  |  |  |  |  |  |  | (1,860) |  |  |
Net cash provided by operating activities |  |  |  |  |  |  |  |  | 18,855 |  |  |
ASU 2014-09 | Effect of ASC 606 Increase/(Decrease) |  |  |  |  |  |  |  |  |  |  |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |
Receivables, net |  |  |  |  |  |  |  |  |  |  |  | 490
Unbilled receivables, net |  |  |  |  |  |  |  |  |  |  |  | 3,384
Inventories, net |  |  |  |  |  |  |  |  |  |  |  | (1,757)
Accounts payable |  |  |  |  |  |  |  |  |  |  |  | (498)
Accrued expenses and other current liabilities |  |  |  |  |  |  |  |  |  |  |  | 655
Deferred tax liabilities |  |  |  |  |  |  |  |  |  |  |  | 495
Retained earnings |  |  |  |  |  |  |  |  |  |  |  | $ 1,465
Products |  |  |  |  |  |  |  |  |  |  |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |
Revenues |  |  |  |  |  |  |  |  | 360,505 | 350,129 | 341,776 |
Costs and operating expenses |  |  |  |  |  |  |  |  | 303,881 | 291,769 | 279,629 |
Products | Without Adoption of ASC 606 |  |  |  |  |  |  |  |  |  |  |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |
Revenues |  |  |  |  |  |  |  |  | 358,496 |  |  |
Costs and operating expenses |  |  |  |  |  |  |  |  | 302,356 |  |  |
Services |  |  |  |  |  |  |  |  |  |  |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |
Revenues |  |  |  |  |  |  |  |  | 336,713 | 409,984 | 350,014 |
Costs and operating expenses |  |  |  |  |  |  |  |  | 321,076 | $ 395,573 | $ 337,956 |
Services | Without Adoption of ASC 606 |  |  |  |  |  |  |  |  |  |  |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |
Revenues |  |  |  |  |  |  |  |  | 337,635 |  |  |
Costs and operating expenses |  |  |  |  |  |  |  |  | $ 321,076 |  |  |

X
- Definition Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.19(a)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_AccountsPayableCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer), for goods or services (including trade receivables) that have been delivered or sold in the normal course of business, reduced to the estimated net realizable fair value by an allowance established by the entity of the amount it deems uncertain of collection. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(3)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_AccountsReceivableNetCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other. + References No definition available. + Details
Name: | us-gaap_AccruedLiabilitiesAndOtherLiabilities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.2(a),(d)) -URI http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227 + Details
Name: | us-gaap_CostOfGoodsAndServicesSold
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 45 -Paragraph 6 -URI http://asc.fasb.org/extlink&oid=84176650&loc=d3e31931-109318 + Details
Name: | us-gaap_DeferredIncomeTaxLiabilitiesNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of deferred income tax expense (benefit) and income tax credits. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585 + Details
Name: | us-gaap_DeferredIncomeTaxesAndTaxCredits
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Subparagraph (h) -URI http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(h)) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 20 -Section 45 -Paragraph 2 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324 + Details
Name: | us-gaap_IncomeTaxExpenseBenefit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585 + Details
Name: | us-gaap_IncreaseDecreaseInAccountsPayable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585 + Details
Name: | us-gaap_IncreaseDecreaseInAccountsReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585 + Details
Name: | us-gaap_IncreaseDecreaseInContractWithCustomerAsset
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585 + Details
Name: | us-gaap_IncreaseDecreaseInInventories
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The increase (decrease) during the reporting period in other obligations or expenses incurred but not yet paid. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585 + Details
Name: | us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.6(a)(1)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_InventoryFinishedGoods
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 25 -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3536-108585 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 24 -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3521-108585 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585 + Details
Name: | us-gaap_NetCashProvidedByUsedInOperatingActivities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 1A -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 220 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(22)) -URI http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 1B -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 220 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(18)) -URI http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(20)) -URI http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227 Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585 Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257 + Details
Name: | us-gaap_NetIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The cumulative amount of the reporting entity's undistributed earnings or deficit. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(30)(a)(3)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(23)(a)(4)) -URI http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -URI http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770 + Details
Name: | us-gaap_RetainedEarningsAccumulatedDeficit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 4 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130543-203045 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130539-203045 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130545-203045 + Details
Name: | us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer. + References No definition available. + Details
Name: | us-gaap_UnbilledReceivablesCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=us-gaap_ProductMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=us-gaap_ServiceMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |