/* Updated 2009-11-04 *//* v2.1.0.1 *//* DefRef Styles */.report table.authRefData{	background-color: #def;	border: 2px solid #2F4497;	font-size: 1em; 	position: absolute;}.report table.authRefData a {	display: block;	font-weight: bold;}.report table.authRefData p {	margin-top: 0px;}.report table.authRefData .hide {	background-color: #2F4497;	padding: 1px 3px 0px 0px;	text-align: right;}.report table.authRefData .hide a:hover {	background-color: #2F4497;}.report table.authRefData .body {	height: 150px;	overflow: auto;	width: 400px;}.report table.authRefData table{	font-size: 1em;}/* Report Styles */.pl a, .pl a:visited {	color: black;	text-decoration: none;}/* table */.report {	background-color: white;	border: 2px solid #acf;	clear: both;	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;	text-align: center;}.report th.void	{	background-color: transparent;	color: #000000;	font: bold 10pt Helvetica, Arial, san-serif;	text-align: left;}.report .pl {	text-align: left;	vertical-align: top;	white-space: normal;	width: 200px;	word-wrap: break-word;}.report td.pl a.a {	cursor: pointer;	display: block;	width: 200px;}.report td.pl div.a {	width: 200px;}.report td.pl a:hover {	background-color: #ffc;}/* Header rows... */.report tr.rh {	background-color: #acf;	color: black;	font-weight: bold;}/* Calendars... */.report .rc {	background-color: #f0f0f0;}/* Even rows... */.report .re, .report .reu {	background-color: #def;}.report .reu td {	border-bottom: 1px solid black;}/* Odd rows... */.report .ro, .report .rou {	background-color: white;}.report .rou td {	border-bottom: 1px solid black;}.report .rou table td, .report .reu table td {	border-bottom: 0px solid black;}/* styles for footnote marker */.report .fn {	white-space: nowrap;}/* styles for numeric types */.report .num, .report .nump {	text-align: right;	white-space: nowrap;}.report .nump {	padding-left: 2em;}.report .nump {	padding: 0px 0.4em 0px 2em;}/* styles for text types */.report .text {	text-align: left;	white-space: normal;}.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;}.report sup {	font-style: italic;}.report .outerFootnotes {	font-size: 1em;}#formDivPreviewer {	background:none repeat scroll 0 0 #F5F5EB;}#formDivPreviewer a{	color:RED;	font-size:13px;	text-decoration:none;	}#formDivPreviewer a.xbrlviewer:link{	color:RED;	}#formDivPreviewer a.xbrlviewer:visited {	color:#5C62A8;}#formDivPreviewer a.xbrlviewer:hover{	background:none repeat scroll 0 0 #C1CDCD;}/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
.report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em; 
	position: absolute;
}

.report table.authRefData a {
	display: block;
	font-weight: bold;
}

.report table.authRefData p {
	margin-top: 0px;
}

.report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

.report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

.report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

.report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
.pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
.report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	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;
	text-align: center;
}

.report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

.report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	word-wrap: break-word;
}

.report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

.report td.pl div.a {
	width: 200px;
}

.report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
.report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
.report .re, .report .reu {
	background-color: #def;
}

.report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
.report .ro, .report .rou {
	background-color: white;
}

.report .rou td {
	border-bottom: 1px solid black;
}

.report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
.report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
.report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

.report .nump {
	padding-left: 2em;
}

.report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
.report .text {
	text-align: left;
	white-space: normal;
}

.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;
}

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}