 | us-gaap:AccountingStandardsUpdate201026Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201104Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201307Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201409Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201517Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201601Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201604Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201606Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201609Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201602Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201613Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201615Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201618Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201704Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201705Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201707Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201708Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201710Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201711Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201712Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201715Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201801Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201802Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201803Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201804Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201807Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201808Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201809Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201811Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201812Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201813Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201814Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201815Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201816Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201817Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201818Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201820Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201901Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201902Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201903Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201904Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201905Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate201911Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate202008Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:AccountingStandardsUpdate202101Member | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |