| **Nature of Operations and Summary of Significant Accounting Policies - Intangible Assets (Details)** | 12 Months Ended |
|-------------------------------------------------------------------------------------------------------|-----------------|
||
| Minimum                                                                                               |            |
| **Intangible Assets [Abstract]**                                                                      |            |
| Estimated useful lives of intangible assets                                                           | 2 years         |
| Maximum                                                                                               |            |
| **Intangible Assets [Abstract]**                                                                      |            |
| Estimated useful lives of intangible assets                                                           | 20 years        |

| 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                                                                                                                       |
|-------------------------------------------------------------------------------------------------------------------------|
| - 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:** |