| PublishDate | 2016-01 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Positive_XBRL_Value | Enter a positive XBRL value for net increases. | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Negative_XBRL_Value | Enter a negative XBRL value for net decreases. | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Note | Element is intended to be used in periods before adoption of amendments from Accounting Standards Update 2014-09. Upon effective date of amendments from Accounting Standards Update 2014-09, element will be transitional and intended to be used by entity that has not adopted amendments from Accounting Standards Update 2014-09. | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| PublishDate | 2018-01 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Source | ASU | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| SourceName | Revenue | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Source_ASU_Number | 2014-09 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| TaxonomyVersion | 2018 | http://fasb.org/srt/role/changeNote/changeNote |
| ChangeDate | 2017-08 | http://fasb.org/srt/role/changeNote/changeNote |
| ModifiedReferences | true | http://fasb.org/srt/role/changeNote/changeNote |
| ModifiedLabels | true | http://fasb.org/srt/role/changeNote/changeNote |
| Publisher | FASB | http://fasb.org/us-gaap/role/ref/otherTransitionRef |
| Name | Accounting Standards Codification | http://fasb.org/us-gaap/role/ref/otherTransitionRef |
| Topic | 210 | http://fasb.org/us-gaap/role/ref/otherTransitionRef |
| SubTopic | 10 | http://fasb.org/us-gaap/role/ref/otherTransitionRef |
| Section | 45 | http://fasb.org/us-gaap/role/ref/otherTransitionRef |
| Paragraph | 8 | http://fasb.org/us-gaap/role/ref/otherTransitionRef |
| Subparagraph | (b) | http://fasb.org/us-gaap/role/ref/otherTransitionRef |
| URI | http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765 | http://fasb.org/us-gaap/role/ref/otherTransitionRef |