/* Copyright © 2006-2007 Rivet Software, Inc. All rights reserved. */

/* DefRef Styles */
#AR {
    font: normal 8pt Helvetica, Arial, san-serif;
    position: absolute;
    width: 300px;
}

#AuthRef {
    background-color: #def;
    border: 2px solid #2f4497;
}

#AuthRef a {
    color: #2f4497;
}

#AuthRef table {
    font-size: 1em;
}

#AuthRefLabel {
    background-color: #2f4497;
    border: 2px solid #2f4497;
    color: white;
    cursor: pointer;
    font-weight: bold;
    line-height: 1.2em;
}

#AuthRefLabel a#close {
    border: 1px solid white;
    color: white;
    display: block;
    float: right;
    line-height: 0.8em;
    padding: 1px 2px 1px 3px;
    text-decoration: none;
}

#AuthRefLabel a#close:hover{
    background-color: #2f4497;
}

#AuthRefLabel p {
    margin: 0px;
}

#AuthRefZ {
    height: 100px;
    overflow: auto;
}

#AuthRefD, #AuthRefR{
     margin: 0px 0.5em;
}



/* Report Styles */
.pl a, .pl a:visited {
    color: black;
    text-decoration: none;
}

/* table */
.report {
    background-color: white;
    border: 2px solid #acf;
    color: black;
    font: normal 8pt Helvetica, Arial, san-serif;
    margin-bottom: 2em;
}

.report hr {
    border: 1px solid #acf;
}

/* Top labels */
.report th {
    background-color: #acf;
    color: black;
    font-weight: bold;
}

.report th.void	{
    background-color: transparent;
    color: #000000;
    font: bold 10pt Helvetica, Arial, san-serif;
    text-align: left;
}

.report  .pl {
    text-align: left;
}

.report td.pl a.a {
    cursor: pointer;
    display: block;
	width: 300px;
}

.report td.pl div.a {
	width: 300px;
}

.report td.pl a:hover {
    background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
    background-color: #acf;
    color: black;
    font-weight: bold;
}

/* Even rows... */
.report .re {
    background-color: #def;
}

/* Odd rows... */
.report .ro {
    background-color: white;
}

/* there are two column types number or text */
.report .text {
    text-align: left;
}

.report .num {
    text-align: right;
    white-space: nowrap;
}

/* styles for text types */

.report .text .big {
    margin-bottom: 1em;
    width: 17em;
}

.report .text .more {
    display: none;
}

.report .text .note {
    font-style: italic;
    font-weight: bold;
}

.report .text .small {
    width: 10em;
}

/* padding-left for numeric values only */
.report .pad2 {
    padding: 0px 0px 0px 2em;
}

.report .pad2p {
    padding: 0px 0.4em 0px 2em;
}

.report sup {
    font-style: italic;
}

.report .innerFootnotes {
    display: none;
    height: 0px;
    line-height: 0px;
}

.outerFootnotes p{
    font: normal 8pt Helvetica, Arial, san-serif;
    margin-bottom: 0.5em;
}