/* DB Icons Schriftart von bahn.de */

@font-face
{
    font-family:"db-icons";
    font-style:normal;
    font-weight:normal;
    src:url("../fonts/db-icons.woff");
    src:url("../fonts/db-icons.eot?#iefix") format("embedded-opentype"),url("../fonts/db-icons.woff") format("woff"),url("../fonts/db-icons.ttf");
}

@font-face
{
    font-family: "DBSansRegular";
    font-style: normal;
    font-weight: normal;
    src: url("../fonts/dbsan03-webfont.eot");
    src: url("../fonts/dbsan03-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/dbsan03-webfont.woff") format("woff"),url("../fonts/dbsan03-webfont.ttf") format("truetype");
}

@font-face
{
    font-family: "DBSansBold";
    font-style: normal;
    font-weight: normal;
    src: url("../fonts/dbsan06-webfont.eot");
    src: url("../fonts/dbsan06-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/dbsan06-webfont.woff") format("woff"),url("../fonts/dbsan06-webfont.ttf") format("truetype");
}

@font-face{
    font-family:"DBHeadLightRegular";
    font-style:normal;
    font-weight:400;
    src:url("../fonts/dbhea02-webfont.eot");
    src:url("../fonts/dbhea02-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/dbhea02-webfont.woff") format("woff"),url("../fonts/dbhea02-webfont.ttf") format("truetype");
}

@font-face{
    font-family:"DBHeadRegular";
    font-style:normal;
    font-weight:400;
    src:url("../fonts/dbhea03-webfont.eot");
    src:url("../fonts/dbhea03-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/dbhea03-webfont.woff") format("woff"),url("../fonts/dbhea03-webfont.ttf") format("truetype");
}

/*Reset*/
table {
    font-size: initial;
}
table tr td {
    padding: 0;
    line-height: initial;
    border:0;
    background-color: transparent !important;
}

input[type="submit"], input[type="reset"] {
    font-family: DBSansBold;
    border: 0!important;
    color: #fff;
}


/*Fonts*/
.font-db-t1{
    font-family: DBSansRegular !important;
    font-size: 26px !important;
    font-weight: normal !important;
}
.font-db-t1-fett{
    font-family: DBSansBold !important;
    font-size: 26px !important;
}
.font-db-t2{
    font-family: DBSansRegular !important;
    font-size: 20px !important;
    font-weight: normal !important;
}
.font-db-t2-fett{
    font-family: DBSansBold !important;
    font-size: 20px !important;
}
.font-db-t3{
    font-family: DBSansRegular !important;
    font-size: 16px !important;
    font-weight: normal !important;
}
.font-db-t3-fett{
    font-family: DBSansBold !important;
    font-size: 16px !important;
}
.font-db-t4{
    font-family: DBSansRegular !important;
    font-size: 14px !important;
    font-weight: normal !important;
}
.font-db-t4-fett{
    font-family: DBSansBold !important;
    font-size: 14px !important;
}
.font-db-t5{
    font-family: DBSansRegular !important;
    font-size: 12px !important;
    font-weight: normal !important;
}
.font-db-t5-fett{
    font-family: DBSansBold !important;
    font-size: 12px;
}
.font-db-t6{
    font-family: "Arial", "Helvetica", sans-serif !important;
    font-size: 12px !important;
    font-weight: normal !important;
    line-height: 18px !important;
}
.font-db-t6-fett{
    font-family: Arial !important;
    font-size: 12px !important;
    font-weight: bold !important;
}

/*Allgemein*/
.abtrenner{
    margin: 0px ;
    padding: 0 0 0 0;
    border-top: 1px solid lightgray;
}

/*Icons*/
.ico {
    display:inline-block;
    position:relative;
    background-image: url(../img/ico/icons2.png);
    background-repeat: no-repeat;
    text-indent: 9999em;
    overflow: hidden;
}

.icon-icon_bahn_bonus_punkte_large{
    background-position: 0 -456px;
    width:56px;
    height:56px;
}

.icon-icon_gutschein_large {
    background-position: 0 -1200px;
    height: 56px;
    width: 56px;
}

.icon-icon_gutschein_medium {
    background-position: 0 -1259px;
    height: 40px;
    width: 40px;
    margin-left:-10px;
}

.icon-icon_kreditkarte_large {
    background-position:  0 -1640px;
    width:56px;
    height:56px;
}

.icon-plus{
    background-position: 0 -3400px;
    width: 23px;
    height: 23px;
    margin:0 5px -6px 0;
}

.icon-icon_check_small{
    background-position: 0 -567px;
    width: 20px;
    height: 20px;
    margin-right:10px;
}

/*Rich Popup*/

/*macht für die RichFaces Popups den Hintergrund in StyleGuide-Farbe*/
.rf-pp-shade {
    background-color: #000000 !important;
}

/*ändert den Schatten des Popup-Panels*/
.rf-pp-cntr{
    box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.4) !important;
}
.rf-pp-shdw{
    visibility: hidden !important;
}

/*Table*/
.table-db th{
    padding-right:10px;
    cursor: auto;
    font-family: DBSansBold !important;
    font-size: 14px !important;
    text-align:left;
}

.table-db td{
    padding-right:10px;
    cursor: auto;
    font-family: DBSansRegular !important;
    font-size: 14px !important;
    text-align:left;
}

/*Rich Extended Datatable*/
.table-db {
    margin-top:20px;
    width:100%;
}

.table-db .rf-edt-tbl {
    cursor: auto;
}

.table-db .rf-edt-tbl td {
    width:auto !important;
    cursor: auto;
}

.table-db .rf-edt-hdr-c{
    background-color:transparent;   
    border:0 !important;
}

.table-db .rf-edt-hdr-c-cnt{
    color:#000 !important;
    position:relative;
    height:45px;
    padding:0 !important;
    cursor: auto;
    text-align: center;
    font-family: DBSansBold !important;
    font-size: 12px !important;
}

.table-db .rf-edt-hdr-c-cnt a:hover{color:#000 !important;}

.table-db .rf-edt-c{border:0 !important;}

.table-db .rf-edt-c-cnt{
    font-family: DBSansRegular !important;
    font-size: 14px !important;
    font-weight: normal !important;
    height:auto !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table-db .table-db-row:nth-of-type(odd) td {background-color: #e7e7e7;} 

.table-db .rf-edt-tbl-ftr{text-align:left !important;}


.table-db.admin .rf-edt-c-cnt{font-size: 11px !important;text-overflow: initial;}
.table-db.admin .rf-edt-tbl td {cursor: pointer;}
.table-db.admin .table-db-row:hover {background-color: #b9b9b9 !important;} 
.table-db.admin .table-db-row:nth-of-type(odd):hover td {background-color: #b9b9b9;} 
.table-db.admin .rf-edt-r-sel{background-color: #b9b9b9 !important;}
.table-db.admin .rf-edt-r-sel:nth-of-type(odd) td {background-color: #b9b9b9;} 



/*Rich Datascroller*/
.datascroller-db .rf-ds-nmb-btn{
    font-size:16px;
}

.datascroller-db .rf-ds-btn{
    color:#333;
    background:#e7e7e7;
    border:0;
    font-size: 0px !important;
    margin:10px 10px 10px 0;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    padding: 10px 16px 10px;
    -webkit-box-shadow: 1px 2px 2px rgba(0,0,0,0.5) !important;
    box-shadow: 1px 2px 2px rgba(0,0,0,0.5) !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -ms-border-radius: 0 !important;
    border-radius: 0 !important;
}

.datascroller-db .rf-ds-btn:hover{
    background:#b9b9b9;
}

.datascroller-db .rf-ds-dis:hover{
    background:#e7e7e7;
}

.datascroller-db .rf-ds-btn-next:before{
    font-family: "db-icons";
    font-size:14px;
    content: "\f103";
    color:#333;
}

.datascroller-db .rf-ds-btn-prev:before{
    font-family: "db-icons";
    font-size:14px;
    content: "\f101";
    color:#333;
}


/*Form*/
form label {
    /*width: 135px;*/
    margin-right: 10px;
    font-family: DBSansBold;
    font-size: .875em;
    display: inline-block;
    vertical-align: top;
    /*line-height: 1.4;*/
    /*padding-top: 7px;*/
    margin-bottom: 5px;
}

/*Input*/
input {
    font-family: DBSansBold,Arial,Helvetica,"sans serif";
}

/*Primefaces Button*/
button.button-db {
    font-weight: normal !important;
    font-size: 14px !important;
    margin:0px;
    display: inline-block;
    cursor: pointer;
    padding: 6px 20px 5px;
    -webkit-box-shadow: 1px 2px 2px rgba(0,0,0,0.5) !important;
    box-shadow: 1px 2px 2px rgba(0,0,0,0.5) !important; 
    border:0;
    color:white;
}


/*Button*/
.button-db {
    font-size: 14px !important;
    margin:10px 10px 10px 0;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    line-height: 20px;
    text-decoration: none;
    padding: 6px 20px 5px;
    -webkit-box-shadow: 1px 2px 2px rgba(0,0,0,0.5) !important;
    box-shadow: 1px 2px 2px rgba(0,0,0,0.5) !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -ms-border-radius: 0 !important;
    border-radius: 0 !important;
}

.button-db.color-db-grey {
    background:#878c96;
    color:white;
}

.button-db.color-db-grey:hover{
    background:#6c7078;
    text-decoration: none !important;
    color:white;
}

.button-db.color-db-red {
    background:#f01414;
    text-decoration: none;
}

.button-db.color-db-red[disabled] {
    opacity: 0.5 !important;
    filter: alpha(opacity=0.5) !important;
}

.button-db.color-db-red[disabled]:hover {
    background:#f01414;
}

.button-db.color-db-red:hover{
    background:#cc0000;
    text-decoration: none;
}

/*Radio*/
.radio-db input[type="radio"]{
    display: none !important;
    opacity: 0 !important;
    filter: alpha(opacity=0) !important;
    margin: 5px 0 0 5px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}

.radio-db input[type="radio"]+label:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.15) inset !important;
    border: 1px solid #878c96 !important;
}


.radio-db input[type="radio"]:checked+label:after {
    content: "" !important;
    position: absolute !important;
    left: 4px !important;
    top: 7px !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 10px !important;
    background-color: #c00 !important;
}

.radio-db input[type="radio"]+label {
    font-family: DBSansRegular !important;
    font-size: 14px !important;
    position: relative !important;
    padding-left: 28px !important;
    cursor: pointer !important;
    display: inline-block !important;
    vertical-align: top !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    margin-bottom: 17px !important;
    box-sizing: border-box !important;
    padding-top: 1px !important;
    margin: 4px 0 16px !important;
    padding-right: 10px !important;
}

.radio-db input[type="radio"]:checked+label {
    font-family: DBSansBold !important;
}


/*Select Box*/
.select-db {
    position: relative !important;
    height: 32px;
    /*width: 100% !important;*/
    overflow: hidden !important;
    background: #fff !important;
    -moz-box-sizing: border-box !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
    /*    margin: 0 0 20px 0;*/
}

select[disabled]{
    cursor: auto !important;
    opacity: 0.5 !important;
    filter: alpha(opacity=0.5) !important;
}

.select-db:before {
    font-family: "db-icons";
    font-size: 8px;
    content: "\f11a";
    color: #878c96;
    position: absolute;
    top: 12px;
    left: auto;
    right: 10px;
}

.select-db select {
    -moz-box-sizing: border-box !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box;
    display: inline !important;
    position: inherit;
    width: 100%;
    height: 32px;
    padding: 0 38px 0 10px !important;
    border: 1px solid #878c96 !important;
    background: transparent !important;
    font-family: "DBSansBold","Arial","Helvetica",sans-serif;
    color: #333;
    font-weight: normal;
    font-style: normal;
    font-size: .875em;
    line-height: 20px !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -ms-border-radius: 0 !important;
    border-radius: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    -ms-appearance: none !important;
    -o-appearance: none !important;
    outline: 0 !important;
    text-indent: .01px;
    text-overflow: "";
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.select-db select option {
    font-family: DBSansRegular;
    font-weight: normal;
    display: block;
    white-space: pre;
    min-height: 1.2em;
    padding: 0px 2px 1px;
}

.select-db select option[selected]{
    font-family:DBSansBold
}

.select-db select option[disabled]{
    font-family:DBSansBold;
    background:#878c96;
    color:white;
}

.select-db select::-ms-expand{display:none}
.select-db select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}
.select-db select:focus::-ms-value{background:transparent;color:#000}

.select-db.small {
    height: 22px !important;
    margin: 0 !important;
}

.select-db.small:before {
    font-size: 6px !important;
    top: 8px !important;
    right: 4px !important;
}

.select-db.small select {
    height: 20px !important;
    padding: 0 22px 0 4px !important;
    line-height: 16px !important;
}


/*Nur für Demo relevant*/
#db-icons span{
    font-family: "db-icons";
    padding: 12px;
    display: inline-block;
    color: #c00;
}

svg.fortschrittsanzeige-db{
    margin-top:20px;
    margin-bottom: 100px;
}


/* ############# SVG Fortschrittsanzeige */



svg.fortschrittsanzeige-db .db_svg_text text {
    fill: #878c96;
    text-anchor: middle;
    dominant-baseline: central;
}

svg.fortschrittsanzeige-db .db_svg_text text:last-child {
    cursor: auto;
}

svg.fortschrittsanzeige-db .db_svg_text text:first-child  {
    fill: #333333;
    font-family: 'DBSansBold';
    font-size: 14px;
}

svg.fortschrittsanzeige-db  .svg_db_tspan{
    font-family: "db-icons" !important;
    fill:#8CB90F;
    visibility:hidden;
}

svg.fortschrittsanzeige-db .db_svg_line {
    stroke: #DEDEDE;
    stroke-width: 2px;   
}

svg.fortschrittsanzeige-db .db_svg_circle circle {
    fill: #DEDEDE;   

}

svg.fortschrittsanzeige-db .db_svg_circle circle:last-child {
    cursor: auto;
}

svg.fortschrittsanzeige-db .db_svg_circle circle:first-child {
    fill: #8cb90f;   
}

.hoverColorUnderline:hover{
    color:#c00;
    text-decoration: underline;
}


.hoverColor:hover{
    color:#c00;
}
.hoverColor:hover svg path{
   fill:#c00 !important;
}
