 | us-gaap:OpenOptionContractsWrittenNumberOfContracts | parent-child | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenNumberOfShares | parent-child | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenExercisePrice | parent-child | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenExpirationDates | parent-child | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenPremiums | parent-child | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenAtFairValue | parent-child | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenTable | all | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenNumberOfContracts | domain-member | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenNumberOfShares | domain-member | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenExercisePrice | domain-member | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenExpirationDates | domain-member | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenPremiums | domain-member | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |
 | us-gaap:OpenOptionContractsWrittenAtFairValue | domain-member | http://fasb.org/us-gaap/role/disclosure/OpenOptionContractsWritten |