/*---front end tables---*/
div#Body table.front_end {
    border-collapse: collapse;
    empty-cells: show;
    width: 100%;
    margin-bottom: 20px;
}

div#Body table.front_end td,
div#Body table.front_end th {
    font-weight: normal;
    border-style: none;
    padding-right: 0.5em;
}

div#Body table.front_end tbody td {
    text-align: right;
}

div#Body table.front_end tbody th {
    text-align: left;
}

div#Body table.front_end thead th.txt_left,
div#Body table.front_end tbody th.txt_left,
div#Body table.front_end tbody td.txt_left {
    text-align: left;
}

div#Body table.front_end td,
div#Body table.front_end th {
    text-align: right;
    vertical-align: bottom;
}

div#Body table.front_end tbody th,
div#Body table.front_end tbody td {
    border-top: 1px solid #999;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

div#Body table.front_end .bottom-border-medium {
    border-bottom: 2px solid black;
}

div#Body table.front_end td.current_year {
    font-weight: bold;
}

/* back end tables */

div#Body table.financial {
    border-collapse: collapse;
    empty-cells: show;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 20px;
}

div#Body table.financial td,
div#Body table.financial th {
    font-weight: normal;
    border-style: none;
    padding: 0.5em 1.6em 0.5em 0;
}

div#Body table.financial .Heading1  {
    vertical-align: bottom;
}

div#Body table.financial th {
    text-align: right;
    vertical-align: bottom;
}

div#Body table.financial .Tabletext,
div#Body table.financial .Tabletextsmall,
div#Body table.financial .TabletextBold,
div#Body table.financial .TabletextIndent,
div#Body table.financial .TabletextBoldIndent,
div#Body table.financial .TabletextIndent2,
div#Body table.financial .TabletextIndentBold2,
div#Body table.financial .TabletextBoldIndent2,
div#Body table.financial .TabletextIndentBold,
div#Body table.financial .TabletextItalic,
div#Body table.financial .TabletextIndentitalic,
div#Body table.financial thead th.TableColHeadsLeft,
div#Body table.financial .TableColHeadsLeftBold,
div#Body table.financial .TabletextBoldsmall,
div#Body table.financial .TabletextIndent3,
div#Body table.financial .TableColHeadsLeftbold,
div#Body table.financial .TableColHeadsLeftItalic {
    text-align: left;
}

div#Body table.financial .TabletextIndent,
div#Body table.financial .TabletextIndentBold,
div#Body table.financial .TabletextIndentitalic,
div#Body table.financial .TabletextBoldIndent {
    padding-left: 2em;
}

div#Body table.financial .TabletextIndent2,
div#Body table.financial .TabletextBoldIndent2,
div#Body table.financial .TabletextIndentBold2{
    padding-left: 4em;
}

/*div#Body table.financial .TabletextIndent3 {
    padding-left: 6em;
}*/

div#Body table.financial .TabletextItalic,
div#Body table.financial .TabletextIndentitalic,
div#Body table.financial .TableColHeadsLeftItalic {
    font-style: italic;
}

div#Body table.financial .TableFigures,
div#Body table.financial .TableFiguresBrackets,
div#Body table.financial .TableFiguresBold,
div#Body table.financial .TableFiguresBracketsBold,
div#Body table.financial .TableFiguressmall,
div#Body table.financial .TableFiguressmallbold,
div#Body table.financial .TableFiguressscol,
div#Body table.financial .TableFiguresBoldsscol,
div#Body table.financial .TableFiguresBracketssscol,
div#Body table.financial .TableFiguresBracketsBoldsmall,
div#Body table.financial .TableFiguresBoldsmall,
div#Body table.financial .TableFiguresBracketssmall {
    text-align: right;
    vertical-align: bottom;
}

div#Body table.financial .TableFiguresBrackets,
div#Body table.financial .TableFiguresBracketsBold {
    padding-right: 1.267em;
}

div#Body table.financial .TableFiguresBracketssscol {
    padding-right: 0.667em;
}

div#Body table.financial .TableColHeadssscol,
div#Body table.financial .TableFiguressscol,
div#Body table.financial .TableFiguresBoldsscol {
    padding-right: 1em;
}

div#Body table.financial .TableColHeadsBold,
div#Body table.financial .TableColHeadsLeftBold,
div#Body table.financial .TabletextBold,
div#Body table.financial .TabletextIndentBold,
div#Body table.financial .TableFiguresBold,
div#Body table.financial .TableFiguressmallbold,
div#Body table.financial .TableFiguresBoldsscol,
div#Body table.financial .TableFiguresBracketsBold,
div#Body table.financial .TabletextBoldIndent,
div#Body table.financial .TabletextBoldIndent2,
div#Body table.financial .TableFiguresBracketsBoldsmall,
div#Body table.financial .TableFiguresBoldsmall,
div#Body table.financial .TabletextBoldsmall,
div#Body table.financial .TableColHeadsLeftbold,
div#Body table.financial .TabletextIndentBold2,
div#Body table.financial .TableColHeadsCenteredBold,
div#Body table.financial .TableColHeadsTextBold{
    font-weight: bold;
}

div#Body table.financial .TableFiguresBracketsBold,
div#Body table.financial .TableFiguresBold{
   /* background-color: #ebebe0;*/
}

div#Body table.financial .TableColHeadsCentered,
div#Body table.financial .TableColHeadsCenteredBold {
    text-align: center;
}

div#Body table.border_insideH_width_2 th,
div#Body table.border_insideH_width_2 td {
    border-bottom: 1px solid #808080;
}

div#Body table.border_insideH_width_4 th,
div#Body table.border_insideH_width_4 td {
    border-bottom: 1px solid black;
}

div#Body table.border_insideH_width_8 th,
div#Body table.border_insideH_width_8 td {
    border-bottom: 2px solid black;
}

div#Body table.border_insideV_width_2 th,
div#Body table.border_insideV_width_2 td {
    border-right: 1px solid #808080;
    border-left: 1px solid #808080;
}

div#Body table.border_insideV_width_4 th,
div#Body table.border_insideV_width_4 td {
    border-right: 1px solid black;
    border-left: 1px solid black;
}

div#Body table.border_insideV_width_8 th,
div#Body table.border_insideV_width_8 td {
    border-right: 2px solid black;
    border-left: 2px solid black;
}

div#Body table.financial .border_top_none {
    border-top-style: none;
}

div#Body table.financial .border_right_none {
    border-right-style: none;
}

div#Body table.financial .border_bottom_none {
    border-bottom-style: none;
}

div#Body table.financial .border_left_none {
    border-left-style: none;
}

div#Body table.financial .border_top_width_2 {
    border-top: 1px solid #808080;
}

div#Body table.financial .border_bottom_width_2 {
    border-bottom: 1px solid #808080;
}

div#Body table.financial .border_left_width_2 {
    border-left: 1px solid #808080;
}

div#Body table.financial .border_right_width_2 {
    border-right: 1px solid #808080;
}

div#Body table.financial .border_top_width_4 {
    border-top: 1px solid black;
}

div#Body table.financial .border_bottom_width_4 {
    border-bottom: 1px solid black;
}

div#Body table.financial .border_left_width_4 {
    border-left: 1px solid black;
}

div#Body table.financial .border_right_width_4 {
    border-right: 1px solid black;
}

div#Body table.financial .border_top_width_8 {
    border-top: 2px solid black;
}

div#Body table.financial .border_bottom_width_8 {
    border-bottom: 2px solid black;
}

div#Body table.financial .border_left_width_8 {
    border-left: 2px solid black;
}

div#Body table.financial .border_right_width_8 {
    border-right: 2px solid black;
}

div#Body table.financial tr th sup {
   
    top: -0.5em;
    position: relative;
    
}

div#Body table.financial tbody tr td sup {
    position: absolute;
    top: auto;
    width: 1.3636em;
    margin-top: -0.5em;
    margin-right: -1.2em;
}



