XML 64 R51.htm IDEA: XBRL DOCUMENT
v3.20.4

Summary of Significant Accounting Policies - Software Development Costs (Details) - USD ($) | 12 Months Ended
--- | ---
Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Organization, Consolidation and Presentation of Financial Statements [Abstract] |  |  |
Unamortized software development costs | $ 28,512,000 | $ 22,240,000 | $ 17,490,000
Software development amortization expense | 10,843,000 | 8,258,000 | 8,123,000
Software development impairment charges | 900,000 | 0 | 500,000
Intangible assets |  |  |
Software development impairment charges | $ 900,000 | $ 0 | $ 500,000
Software and Software Development Costs | Minimum |  |  |
Intangible assets |  |  |
Finite-Lived Intangible Asset, Useful Life | 2 years |  |
Software and Software Development Costs | Maximum |  |  |
Intangible assets |  |  |
Finite-Lived Intangible Asset, Useful Life | 3 years |  |

X
- Definition Amount of expense for amortization of capitalized computer software costs. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (b)(1) -URI http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=6501960&loc=d3e128487-111756 + Details
Name: | us-gaap_CapitalizedComputerSoftwareAmortization1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of impairment loss from capitalized computer software costs. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=6501960&loc=d3e128487-111756 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (b)(2) -URI http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756 + Details
Name: | us-gaap_CapitalizedComputerSoftwareImpairments1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756 + Details
Name: | us-gaap_CapitalizedComputerSoftwareNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_FiniteLivedIntangibleAssetUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
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_FiniteLivedIntangibleAssetsLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |