/* general HAFAS styles */

#HFS {
font-family: "Nunito Sans",sans-serif;
text-decoration:none;
}

#HFS .clear {
	clear:both;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal !important;
  font-family: "Nunito Sans",sans-serif;
}

a {
    cursor: pointer;
}

a[name="top"],
a[name="focus"] {
    display: inline-block;
    height: 160px;
    margin-top: -160px;
    visibility: hidden;
    z-index: -1;
    margin-left: -4px;
}

#HFS hr {
	margin:10px 0;
}


/**********************************************************************************************************************/
/* Product Icons */
.productIcon.highspeedtrain     { color: #c20a1d; }
.productIcon.ic_ec              { color: #1d699f; }
.productIcon.longdistancetrain  { color: #613e0d; }
.productIcon.regionaltrain      { color: #4a1687; }
.productIcon.urbantrain         { color: #3f7b1d; }
.productIcon.bus                { color: #ff7800; }
.productIcon.ship               { color: #193399; }
.productIcon.subway             { color: #083bcf; }
.productIcon.tram               { color: #9c108d; }
.productIcon.ast                { color: #474746; }
.productIcon.walk               { color: #474746; }
.productIcon.bike               { color: #474746; }
.productIcon.taxi               { color: #474746; }
.productIcon.sev                { color: #D62F87; }


.wrapProductChoiseTable .productIcon {
    font-size: 2em;
}

.wrapProductChoiseTable .productTableLabel {
  cursor: pointer;
}

.wrapProductChoiseTable .productTableLabel.unchecked .productIcon {
    color: #bbb3ab;
}

.wrapProductChoiseTable .productTableLabel i {
  float: none;
}

.productIcon.productSmall {
    font-size: 14px;
    line-height: 14px;
}

.productBit .productIcon {
    font-size: 28px;
    line-height: 28px;
}

input, select, textarea {
    font-family:"Nunito Sans",sans-serif !important;
}


#HFS *[aria-hidden="false"] {
	display: none;
}

#HFSContent {
	font-size:16px;
}

#HFSContent p {
	font-size: 0.9em;
}

#HFS .popup {
background-color:#FFFFFF;
margin:0;
}

#HFS img.product {
margin-right:2px;
height:21px;
width:21px;
vertical-align:middle;
}
#HFS img.productSmall {
height:21px;
margin-right:6px;
margin-top:1px;
vertical-align:middle;
width:21px;
}
#HFS img.icon {
vertical-align:middle;
}

#HFS .Hbutton {
	transition:all 0.4s ease-out 0s;
	border-radius:2px;
	padding:5px 10px;
	color:#fff;
	height:auto;
	border:0px none;
	vertical-align:middle;
	font-weight:normal;
	text-transform: uppercase;
	display:inline-block;
	cursor:pointer;
	text-align:center;
	font-size:16px;
}

#HFS .greyButton {
	background-color:#757575;
	border:none;
}

#HFS .bigButton {
	background: #008188;
	border:none;
	
}

#HFS .buttonBlock {
  display: block;
  width: 100%;
}

#HFS .greyButton:hover {
	background-position:0px -50px;
	box-shadow:0 0 2px #bbb3ab;
	text-shadow:0 0 2px #bbb3ab;
}

#HFS .bigButton:hover {
	background-position:0px -50px;
	box-shadow:0 0 2px rgb(0,161,169);
	text-shadow:0 0 2px rgb(0,161,169);
}

#HFS .calButton{
	vertical-align: top;
}

#HFS .iconButton.iconRight {
	text-align: left;
}

#HFS .iconButton.iconLeft {
	text-align: right;
}

#HFS .iconButton:after {
	position: absolute;
	display: block;
	top: 50%;
	right: 10px;
	font-family: "NahSH";
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	font-size: 14px;
	-webkit-font-smoothing: antialiased;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

#HFS .iconButton.icon-calendar:after { content: "\e629"; }

#HFS .btn-link {
    border: none;
    background: none;
    font-family: "CelesteWeb", Times, serif;
    color: #008188;
}

#HFS .btn-link:hover {
    color: #001e48;
}

/* DaySwitch Calendar */
#HFS .soonerButton:after,
#HFS .laterButton:after {
	font-size: 1.8em;
}

#HFS .soonerButton:after {
	content: "\e614";
	left: 3px;
}

#HFS .laterButton:after {
	content: "\e617";
	right: 3px;
}

#layerMapWrap input[type=text],
#HFS input[type=text] {
	line-height:28px;
	color:#001e48;
	height:30px;
	border:1px solid #b5b5b5;
	padding:4px 8px;
	transition:all 0.4s ease-out 0s;
	vertical-align:middle;
}

#HFS input[type=checkbox],
#HFS input[type=radio] {
	vertical-align:middle;
    margin-right: 4px;
    margin-top: -3px;
}

#HFS label.checkLabel {
	vertical-align: middle;
	margin-right: 2em;
	color:#001e48;
}

#HFS label.selectLabel {
	margin-right:20px;
	color:#001e48;
	line-height: 30px;
}

#HFS label.front {
	width: 125px;
	color:#001e48;
	display:inline-block;
	vertical-align:middle;
	line-height:30px;
}

#HFS select {
	position: relative;
	color:#001e48;
	line-height:30px;
	height: 30px;
	padding: 4px 8px;
}

#HFS option {
	color:#001e48;
	line-height:30px;
	padding:4px 8px;
}

#HFSContent {
	margin-top:20px;
}

#HFS .inputRow {
	position:relative;
	margin-bottom:12px;
}

#HFS .inputRow:after {
    clear: both;
}

.hideOnPrintMode {
    display: none;
}

.onlyOnPhone {
	display:none;
}

#HFS .linkGroup {
	margin-bottom:20px;
}

#HFS .detailsTable .bottomLinkGroup {
    padding-left: 8px;
    padding-right: 8px;
}

#HFS .detailsTable .tpDetails.tariffInformation .tariffInfo,
#HFS .detailsTable .bottomLinkGroup {
    padding-left: 8px;
    padding-right: 8px;
}

#HFS .detailsTable .tpDetails.tariffInformation .tariffInfo p {
    margin-bottom: 0;
}

#HFS .linkGroup a,
#HFS .bottomLinkGroup a {
	margin-right:20px;
}
/* ###################### Haeder ##################### */

#HFSBreadcrumb {
	color:#bbb3ab;
	font-size:13px;
	line-height:16px;
	margin-bottom:25px;
}

#HFSBreadcrumb  .currentBreadcrump {
	color:#001e49;
}

#HFS  h1, 
#HFS  h2 {
	color:#001e49;
	font-size:34px;
    font-weight: 700;
	position:relative;
	padding-top:5px;
}


#HFS h2.separator.darkBlue {
	color: #001e49;
}

#HFS #tq_trainroute_content_table_alteAnsicht h2.separator.darkBlue {
    margin-bottom: 4px;
}

#HFS h2.separator.noMargin {
	margin: 0;
}


#HFS h3.sepHeader,
#HFS .headerHint {
	color:#008188;
	font-size:16px;
	font-weight:400;
	line-height:25px;
}

a.arrowLink {
	padding-left:20px;
	cursor:pointer;
}

/* ############### Footer ################## */

#HFSFooter {
	border-top: 1px solid #E4DFD9;
	padding-top: 15px;
	color:#757575;
	font-size:12px;
}


/* ############## Slider ################## */

#HFSNaviTop {
	margin:20px 0px 30px 0px;
	text-align:center;
}

#HFSNaviTop ul {
	margin:0px;
	padding:0px;
}

#HFSNaviTop ul li {
	display:inline-block;
	list-style-type:none;
	cursor:pointer;
	color:#bbb3ab;
	border-right:1px solid #bbb3ab;
}

#HFSNaviTop ul li:last-child {
	border-right:none;
}

#HFSNaviTop ul li a {
    display: block;
    padding:5px 15px;
	color:#757575;
	transition:all 0.4s ease-out 0s;
}

#HFSNaviTop ul li.wrapLanguage {
	position: relative;
}

#HFSNaviTop ul li.wrapLanguage a.flag {
	display: inline-block;
	padding: 6px 6px 2px;
	vertical-align: middle;
}

#HFSNaviTop ul li.wrapLanguage a.language {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=40);
    -moz-opacity: 0.4;
  -khtml-opacity: 0.4;
         opacity: 0.4;
}

#HFSNaviTop ul li a:hover {
	color:#00A1A9;
}

#HFSNaviTop ul li.active a {
	color:#000;
}


/* ############################## Map ########################## */

#layerMapWrap {
	position:fixed;
	top:10%;
	bottom:10%;
	left:5%;
	right:5%;
	background:#fff;
	z-index:99999;
	box-shadow:0 0 10px rgba(0, 30, 73, 0.5);
	border-radius:5px;
	padding:10px 10px 10px 20px;
}

#layerMapWrap .ajaxmapdiv {
	position:absolute;
	left:20px;
	right:20px;
	bottom:20px;
	top:50px;
	border:1px solid #bbb3ab;
}

#layerMapWrap img {
	max-width:none;
}

#HFS .ajaxmapdiv img {
	max-width:none;
}

#layerMapWrap #closeButtonMap {
	position:absolute;
	right:10px;
	top:10px;
	cursor:pointer;
}

#layerMapWrap .menuHeadline {
	color:#008188;
	display:inline-block;
	margin-right:50px;
}

#layerMapWrap .mapSearchHolder {
	display:inline-block;
}

.ajaxmapdiv .olControlAttribution {
	position:absolute;
	right:5px;
	bottom:5px;
	padding:2px;
	background:#fff;
	opacity:0.7;
}

.hafas_infobox .sepHeader {
	color:#001E49;
  font-size: 18px;
  white-space: nowrap;
  margin-bottom: 12px;
}

/* ##################################### TP ######################## */

#HFS_tariff_assistant_form legend,
#HFSQuery legend {
	display: none;
	height: 1;
	font-size:0px;
}

#HFS form fieldset {
	border: 0;
}

#HFS .greyBox {
	border-top:2px solid #bbb3ab;
	padding: 0px 0 20px 0;
	line-height:20px;
}

#HFS .greyBox > h3.sepHeader {
	padding-top: 20px;
}

#HFS .greyBox.tpButtonHolder {
	padding-top: 20px;
}

#tpSearchWaitScreenTop,
#tpSearchWaitScreen {
	text-align:center;
}

#HFSQuery .ringSwitchHolder {
	margin: 1em 0 0.9em 127px;
}

#HFS .travellerRow .selectHolder,
#HFS .productSelectHolder,
#HFS .timeInputHolder,
#HFS .locationInputHolder {
    display: inline-block;
    vertical-align: top;
}

#HFS .expandProductButtonHolder,
#HFS .timeSelectHolder,
#HFS .locationButtonHolder {
    display: inline-block;
}

#HFS .expandProductButtonHolder input[type=submit],
#HFS .mapButton {
	width:136px;
}

#HFS .via1Button,
#HFS .via2Button {
	margin-left:20px;
	width:53px;
}

#HFS #HFS_via1,
#HFS #HFS_via2 {
	margin-right:20px;
}

#tariffAssistant .calDayScoller,
#HFS .calDayScoller {
	border-style:solid solid solid none;
	border-width:1px 1px 1px 0px;
	border-color:#bbb3ab;
	display:inline-block;
	height:30px;
	position:relative;
    margin-left: -4px;
	width:50px;
}

#tariffAssistant .calDayScoller a.laterButton,
#HFS .calDayScoller a.laterButton{
	padding-left:4px;
	padding-right:8px;
	line-height:28px;
}

#tariffAssistant .calDayScoller a.soonerButton,
#HFS .calDayScoller a.soonerButton{
	padding-left:12px;
	padding-right:4px;
	line-height:28px;
}

#tariffAssistant .calButton,
#HFS .calButton {
	width: 136px;
}

#HFS .inputHolder,
#HFS .timeInputHolder,
#HFS .dateInputHolder {
    min-width: 45%;
    /*max-width: 65%;*/
    display: inline-block;
    vertical-align: top;
}

.fixedWidthForFirstLabel {
    display: inline-block;
    width: 155px;
}

#HFS .inputHolder,
#tariffAssistant .timeInputHolder {
	/*right:242px;*/
}

#HFS .inputHolder,
#tariffAssistant .timeInputHolder,
#tariffAssistant .dateInputHolder {
	/*left:83px;*/
}

#HFSQuery label.front.travellersHolder {
	width: 125px;
}

#HFSQuery .wrapTravellersRow {
	border-top: 1px dotted #bbb3ab;
	padding-top: 14px;
}

#HFS .inputHolder input[type="text"],
#HFS .inputHolder select,
#tariffAssistant .timeInputHolder input[type="text"],
#tariffAssistant .dateInputHolder input[type="text"],
#HFS .productSelectHolder select,
#HFS .timeInputHolder input[type="text"],
#HFS .dateInputHolder input[type="text"] {
	width:100%;
}

#HFS .inputHolder.inlineInput input,
#HFS .inputHolder.inlineInput select {
    width: auto;
}

#HFS .inputHolder.inlineInput input.via2Button {
	width: 53px;
}

#HFS .inputHolder .preGeneratedInputValue {
    line-height: 30px;
}


#HFS .inputHolder .text {
    display: inline-block;
    max-width: 565px;
}

#HFS .inputHolder > .text,
#HFS .inputHolder > ul {
    margin-top: 4px;
}

#HFSQuery table.formTableInput {
    margin: 0;
}


#HFSQuery select#HFS_timesel_REQ0 {
	width:136px;
}


#HFSQuery .travelerItem,
#HFS_tariff_assistant_form .travelerItem {
	display: inline-block;
	margin-right: 28px;
}

#HFSQuery .travelerItem:last-child,
#HFS_tariff_assistant_form .travelerItem:last-child {
	margin-right: 0px;
}

#HFSQuery .travelerItem label,
#HFSQuery .travelerItem select,
#HFS_tariff_assistant_form .travelerItem label,
#HFS_tariff_assistant_form .travelerItem select {
	display:inline-block;
}

#HFSQuery .travelerItem label,
#HFS_tariff_assistant_form .travelerItem label  {
	width: 145px;
  text-align: right;
}

#HFSQuery .travelerItem.first label,
#HFSQuery .travelerItem.last label,
#HFS_tariff_assistant_form .travelerItem.first label,
#HFS_tariff_assistant_form .travelerItem.last label {
	width: 125px;
}

#HFSQuery .travelerItem:first-child label,
#HFS_tariff_assistant_form .travelerItem:first-child label  {
	text-align: left;
}

#HFSQuery .travellerRow select,
#HFS_tariff_assistant_form .travellerRow select {
	width:100%;
}

#HFSQuery .travellerRow .selectHolder,
#HFS_tariff_assistant_form .travellerRow .selectHolder {
	left:120px;
}


.tpButtonHolder {
	text-align: right;
}

.tpButtonHolder input[type="submit"],
.tpButtonHolder .HButton {
	display: inline-block;
}

#HFSQuery .tpButtonHolder input[type=submit] {
	padding-left:15px;
	padding-right:15px;
	margin-left: 18px;
}

#HFSQuery .wrapProductChoiseTable {
    margin: 1em 0 0 0;
}

#HFSQuery .productChoiseTable {
  margin-bottom: 0;
}

#HFSQuery .wrapProductChoiseTable .productChoice {
  border: 1px solid #bbb3ab;
  padding: 0.5em;
}

#HFSQuery .productChoiseTable td.center {
	text-align:center;
	padding: 0 6px 0 0;
}

#HFSQuery .productChoiseTable .zebracol-2 {
	background:#e6e6e6;
}

#HFSQuery .productChoiseTable .spaceLeft {
	display:none;
}

#HFSQuery .productChoiseTable .spaceRight {
	padding-right:10px;
	width: 110px;
}

#HFSQuery .productChoiseTable td input {
    margin:0px;
}

#HFSQuery .productChoiseTable .itemProduct {

}

#HFSResult .textualDescription i {
    float: none;
    margin-top: -2px;
    vertical-align: top;
}

/* ################## Checkbox/RadioButtonLists ##############################*/

#HFS .checkboxRadioListRow {
	position: relative;
	margin-bottom: 15px;
}

#HFS .checkboxRadioListRow label.front {
	vertical-align: top;
}

#HFS .checkboxRadioListHolder {
	display: inline-block;
}

#HFS .checkboxRadioListHolder label.checkboxRadio {
	display: block;
	min-height: 30px;
	line-height: 30px
}

#HFS label.checkboxRadio {
	display: block;
	cursor: pointer;
}



/* #################### TP - Result ################ */
#HFS .summaryContent {
    border-top: 2px solid #dadada;
    padding: 8px 0 4px;
}

#HFS .summaryContent .containerIconProduct {
    width: 39px;
}

#HFS .summaryContent .containerTextProduct {
    width: 110px;
}

#HFS .separatingLineRealtime {
    position: relative;
}

#HFS .separatingLineRealtime .actualTimeInSeparatorRealTime {
    position: absolute;
    top: -0.5em;
    right: 0;
    left: 0;
    text-align: center;
}

#HFS .separatingLineRealtime .actualTimeInSeparatorRealTime span {
    background: #fff;
    padding: 8px;
}

#HFS .tabGroup {
	margin-bottom:-1px;
	padding:10px 0px 0px 20px;
	overflow:hidden;
}

#HFS .tabGroup a {
	margin-right:20px;
	transition:all 0.4s ease-out 0s;
}

#HFS .tabContent {
  width: 100%;
}

#HFS .tabContent div[role="tabpanel"] {
  overflow: hidden;
  overflow-x: auto;
}

#HFS .resultTable {
  width: 100%;
}

#HFSResult .resultTable div[class*="header"],
#HFSResult .resultTable th {
	font-size:16px;
	color:#008188;
	padding: 8px 0px 6px;
	border-top: 2px solid #dadada;
	text-align:left;
}

#HFSResult .tableResultTrainRoute th {
    padding: 8px 8px 6px;
}

#HFSResult .resultTableConnection {
  border-bottom: 2px solid #dadada;
  padding: 0.4em 0;
  margin-bottom: -2px;
  cursor: pointer;
  color:#008188;
}

#HFSResult .resultTableConnection.first {
  border-top: none;
}

#HFSResult .resultTable .headerIcon,
#HFSResult .resultTable .connectionIcon               { width: 4%; }
#HFSResult .resultTable .connectionIcon               { color: #008188; }

#HFSResult .resultTable .headerStation,
#HFSResult .resultTable .connectionStation            { width: 24%; }

#HFSResult .resultTable .headerDate,
#HFSResult .resultTable .connectionDate               { width: 9%; }

#HFSResult .resultTable .headerTime,
#HFSResult .resultTable .connectionTime               { width: 9%; }

#HFSResult .resultTable .headerRealTime,
#HFSResult .resultTable .connectionRealTime           { width: 9%; }

#HFSResult .resultTable .headerDuration,
#HFSResult .resultTable .connectionDuration           { width: 8%; }

#HFSResult .resultTable .headerChanges,
#HFSResult .resultTable .connectionChanges            { width: 6%; }

#HFSResult .resultTable .headerProducts,
#HFSResult .resultTable .connectionProducts           { width: 16%; }

#HFSResult .resultTable .headerFares,
#HFSResult .resultTable .connectionFares              { width: 15%; }




#HFSResult .resultTable .multimodalTable .headerIcon,
#HFSResult .resultTable .multimodalTable .connectionIcon               { width: 4%; }
#HFSResult .resultTable .multimodalTable .connectionIcon               { color: #008188; }

#HFSResult .resultTable .multimodalTable .headerStation,
#HFSResult .resultTable .multimodalTable .connectionStation            { width: 51%; }

#HFSResult .resultTable .multimodalTable .headerDuration,
#HFSResult .resultTable .multimodalTable .connectionDuration           { width: 14%; }

#HFSResult .resultTable .multimodalTable .headerProducts,
#HFSResult .resultTable .multimodalTable .connectionProducts           { width: 31%; }


#HFSResult .resultTable td {
	text-align:left;
	vertical-align: top;
	padding: 8px 2% 8px 0;
}

#HFSResult .resultTable td.pearl {
    font-size:14px;
    text-align:left;
    vertical-align: middle;
    padding: 8px 0;
}

#HFSResult .resultTable td.timeButton {
	padding: 0px 0;
}

#HFSResult .resultTable td.timeButton .Hbutton {
	border-radius:0;
}


#HFSResult .zebracol-1,
#HFSResult .resultTable tr.depboard-light {
	background-color: #e6e6e6;
}

#HFSResult .resultTable tr.depboard-dark {
	background-color: #fff;
}

#HFSResult .resultTable.sq_result th:first-child,
#HFSResult .resultTable.sq_result td:first-child {
	padding-left:10px;
}

#HFSResult .resultTable th.time { width: 8%; min-width: auto; }
#HFSResult .resultTable th.product { width: 12%; min-width: auto; }




/*
	Icon und Productbezeichner sollen untereinander stehen
*/
#HFSResult .resultTable td.product a {
	display: block;
	width: 100%;
	height: auto;
	text-align: center;
}

#HFSResult .resultTable td.product a img {
	display: block;
	margin: 2px auto;
}

#HFSResult .resultTable tr.tpOverview td  {
	line-height:20px;
	padding: 0.5em 0px;
	transition:all 0.4s ease-out 0s;
}

#HFSResult .resultTable tr.navi .timeButton.later {
	padding-top: 15px;
}

#HFSContent i.hfs-icon-shopping-cart.webshoplink {
  float: none;
  /*text-shadow: -1px -1px 0 #444;*/
}

#HFSContent a.webshoplink {
  display: inline-block;
  color: #fff;
  font-size: 11px;
  background: #bbb3ab;
  line-height: normal;
  padding: 0px 4px 1px 4px;
  -webkit-box-shadow: inset 1px 1px rgba(255,255,255,0.8), inset -1px -1px 0 rgba(0,0,0,0.4);
     -moz-box-shadow: inset 1px 1px rgba(255,255,255,0.8), inset -1px -1px 0 rgba(0,0,0,0.4);
          box-shadow: inset 1px 1px rgba(255,255,255,0.8), inset -1px -1px 0 rgba(0,0,0,0.4);
}
#HFSContent a.webshoplink:visited {color: #fff;background: #bbb3ab;}
#HFSContent a.webshoplink:focus   {color: #fff;background: #bbb3ab;}
#HFSContent a.webshoplink:hover   {color: #fff;background: #008188;}
#HFSContent a.webshoplink:active  {color: #fff;background: #008188;}

#HFSResult .resultTable tr.navi .timeButton a {
	display: block;
	transition:all 0.4s ease-out 0s;
	border-radius:2px;
	padding:5px 10px;
	color:#fff;
	height:30px;
	border:0px none;
	vertical-align:middle;
	font-weight:normal;
	text-transform: uppercase;
	cursor:pointer;
	text-align:center;
	background-color:#bbb3ab;
}

#HFSResult .resultTable tr.navi .timeButton a:hover {
	background-position:0px -50px;
	box-shadow:0 0 2px #bbb3ab;
	text-shadow:0 0 2px #bbb3ab;
}

#HFSResult .resultTable tr.tpOverviewSpace td {
	display:none;
}

#HFSResult .resultTable tr.tpOverview {
	cursor: pointer;
}

#HFSResult .resultTable tr.tpOverview  td {
	border-bottom: 2px solid #dadada;
}

#HFS  .resultTable td img.product {
	width:29px;
	height:29px;
}

/*#HFSResult .resultTable tr.tpOverview:hover td {*/
	/*cursor:pointer;*/
	/*background: #e6e6e6;*/
/*}*/

#HFSResult .resultTable .tpOverview .time .planed,
#HFSResult .resultTable .tpOverview .time .prognosis {
	display:inline-block;
	position: relative;
}

#HFSResult .resultTable tr.tpOverview .time .prognosis {
	position: absolute;
	top: 50%;
	width: 96px;
	height: auto;
	-webkit-font-smoothing: antialiased;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

#HFSResult .resultTable .prognosis i {

}

#HFSResult .resultTable .details {
	display:none;
}

#HFSResult .resultTable .details .LinkButton {
	margin-right:10px;
	padding: 12px 16px 8px;
	display:inline-block;
	border-color:#fff;
}

#HFSResult .resultTable .details .LinkButton.activeTab {
	border-width:1px 1px 0px 1px;
	border-style:solid solid none solid;
	border-color:#dadada;
	background:#fff;
}

#HFSResult .resultTable .additionalContent {
	padding:10px 0px;
}

#HFSResult .resultTable .detailsMenu,
#HFSResult .resultTable .additionalContent .detailsMenu {
	z-index:2;
	position:relative;
}


#HFSResult .resultTable .additionalContent .detailsContent {
	border:1px solid #dadada;
	z-index:1;
	position:relative;
	padding:20px;
}

#HFSResult .detailsTable {
	width:100%;
	margin: 0;
	border-collapse: separate;
}

#HFSResult .detailsTable td a {
	
	color:#00747a;
}

#HFSResult .detailsTable td {
	padding:10px 0px;
	background:#F9F9F9;
}

#HFSResult .detailsTable .sectionInfo td {
	background:#fff;
}

#HFSResult .detailsTable .sectionInfo .productsIcon .productIcon {
    font-size: 28px;
    line-height: 28px;
}

#HFSResult .detailsTable .tpDetails.intermediateSection td {
	padding-top: 2px;
	padding-bottom: 2px;
}

#HFSResult .tableResultTrainRoute .pearl,
#HFSResult .detailsTable .pearl {
	width:30px;
	position:relative;
	overflow:hidden;
}

#HFSResult .tableResultTrainRoute .pearl .line,
#HFSResult .detailsTable .pearl .line {
	position:absolute;
	height:500px;
	top:0px;
	left:8px;
	width:3px;
	background:#001E49;
}

#HFSResult .tableResultTrainRoute .firstRow .pearl .line,
#HFSResult .detailsTable .conFirstSecFirstRow .pearl .line {
	top:50%;
}

#HFSResult .tableResultTrainRoute .lastRow .pearl .line,
#HFSResult .detailsTable .conLastSecLastRow .pearl .line {
	top:auto;
	bottom:50%;
}

#HFSResult .tableResultTrainRoute .pearl .dot,
#HFSResult .detailsTable .pearl .dot {
	position:relative;
	height:13px;
	width:13px;
	background:#fff;
	border:3px solid #001E49;
	border-radius:100%;
	float:left;
	margin-left:3px;
    z-index: 2;
}

#HFSResult .tableResultTrainRoute tr.highlight .pearl .line {
    background:#008188;
}

#HFSResult .tableResultTrainRoute tr.highlight .pearl .dot {
    border: 3px solid #008188;
}

#HFSResult .tableResultTrainRoute tr.highlight.entry .pearl .line.before {
	height: 50%;
	background: #001E49;
	z-index: 1;
}

#HFSResult .tableResultTrainRoute tr.firstRow.highlight.entry .pearl .line.before,
#HFSResult .tableResultTrainRoute tr.lastRow.highlight.exit .pearl .line.before {
    display: none;
}

#HFSResult .tableResultTrainRoute tr:nth-of-type(2).entry .pearl .line.before {
  display: none;
}

#HFSResult .tableResultTrainRoute tr:nth-of-type(2).entry .pearl .line.main {
  top: 50%;
}

#HFSResult .tableResultTrainRoute tr.highlight.exit .pearl .line.before {
    height: 50%;
    top: auto;
    bottom: 0;
    background: #001E49;
    z-index: 1;
}

#HFSResult .tableResultTrainRoute .pearl .hideInterDot,
#HFSResult .tableResultTrainRoute .pearl .showInterDot,
#HFSResult .detailsTable .pearl .hideInterDot,
#HFSResult .detailsTable .pearl .showInterDot {
	position:relative;
	height:15px;
	width:15px;
	background:#001E49;
	border-radius:0 100% 100% 0;
	float:left;
	margin-left:10px;
	color:#fff;
	text-align:center;
	line-height:14px;
	cursor:pointer;
}

#HFSResult .tableResultTrainRoute .pearl .showInterDot,
#HFSResult .detailsTable .sectionInfo.opened .pearl .showInterDot,
#HFSResult .detailsTable .sectionInfo .pearl .hideInterDot {
	display:none;
}

#HFSResult .detailsTable .sectionInfo.opened .pearl .hideInterDot {
    display: block;
}

#HFSResult .tableResultTrainRoute .pearl .hideInterDot,
#HFSResult .detailsTable .detailsTable .sectionInfo.opened .pearl .hideInterDot {
	display:none;
}

#HFSResult .detailsTable .timeValue {
	width:45px;
}
#HFSResult .detailsTable tr.top .realTime,
#HFSResult .detailsTable tr.top .timeType,
#HFSResult .detailsTable tr.top .date,
#HFSResult .detailsTable tr.top .platform,
#HFSResult .detailsTable tr.top .timeValue {
	padding-bottom:0px;
}
#HFSResult .detailsTable tr.bottom .realTime,
#HFSResult .detailsTable tr.bottom .timeType,
#HFSResult .detailsTable tr.bottom .date,
#HFSResult .detailsTable tr.bottom .platform,
#HFSResult .detailsTable tr.bottom .timeValue {
	padding-top:0px;
}

#HFSResult .detailsTable td.platform {
	width:85px;
}

#HFSResult .detailsTable img.product {
	width:auto;
	height:auto;
}

#HFSResult .detailsTable tr.blackBoard td {
	background: #fff;
}

#HFSResult .detailsTable tr.blackBoard table.realTimeLegend {
	width: 100%;
}

#HFSResult .detailsContent div.tariffInfo {
	margin-top:10px;
}

#HFS .wrapTaSuggestionResult,
#HFSResult .detailsContent {
  border: 1px solid #dadada;
  padding: 1em;
}

#HFSResult .detailsContent .intermediateStop td {
	padding:1px 0px;
	font-size:14px;
	color:rgba(0, 30, 70, 0.7);
	background:#fff;
}

#HFSResult .detailsContent .intermediateStop.top td {
	border-top:1px dashed #c9c2bc;
}

#HFSResult .detailsContent .intermediateStop.top td.pearl {
	border-top:none;
}

#HFSResult .detailsContent .intermediateStop .pearl .dot {
	border:none;
	width:9px;
	height:9px;
	background:#001E49;
	margin-left:5px;
}

#HFSResult .detailsContent .intermediateStop.hide {
    display: none;
}

#HFSResult .detailsContent  .textualDescription p {
	border-bottom:1px solid #c9c2bc;
	margin:0px;
	padding:10px 0px;
}

#HFSResult .detailsContent .mapDetails {
	white-space:nowrap;
  position: relative;
  min-height: 400px;
}

#HFSResult .detailsContent  .textrouteDetails .linkGroup {
	margin:10px 0px 0px 0px;
}

#HFSResult .detailsContent .mapConnectionDetails {
	width:29.5%;
	display:inline-block;
	padding-right:20px;
	vertical-align:top;
	white-space:normal;
}

#HFSResult .detailsContent table.ajaxMapConnection {
	width:100%;
}

#HFSResult .detailsContent table.ajaxMapConnection td {
	padding:3px;
}

#HFSResult .detailsContent table.ajaxMapConnection .showWholeJourney {
	margin-top:20px;
}

#HFSResult .detailsContent table.ajaxMapConnection td.mapConTime {
	white-space:nowrap;
	padding-right:5px;
}

#HFSResult .detailsContent table.ajaxMapConnection tr.durRow td {
	border-top:1px solid #E6E6E6;
}

#HFSResult .detailsContent table.ajaxMapConnection tr.prodRow td {
	background:#DADADA;
}

#HFSResult .detailsContent table.ajaxMapConnection tr.prodRow td .productIcon {
    font-size: 24px;
    line-height: 24px;
}

#HFSResult .detailsContent .ajaxmapdiv {
	width:70%;
  position: absolute;
  top: 0;
  right: 0;
	display:inline-block;
	height: 100%;
  min-height: 400px;
	border:1px solid #001E49;
	vertical-align:top;
}

#HFSResult .detailsContent .ajaxmapdiv .hafas_infobox .sepHeader {
  color:#001E49;
  font-size: 18px;
  white-space: nowrap;
  margin-bottom: 12px;
}

#HFSResult .detailsContent .MapRouteDesc {
 padding-left:20px;
 display:none;
}

#HFSResult .detailsContent .MapRouteDescLink {
	margin-left:20px;
}

#HFSResult .detailsContent .MapRouteDesc table.footwayDescTable {
	width:100%;
	margin-bottom:0px;
}

#HFSResult .detailsContent .MapRouteDesc .row:nth-child(odd) {
	background:#DADADA;
}

#HFSResult .detailsContent #tariffAssistant table,
#HFSResult .detailsContent table.tariffTable {
	width:100%;
}

#HFSResult .detailsContent #tariffAssistant table tr {
	background:#fff;
}

#HFSResult .detailsContent #tariffAssistant table tr th {
	color:#008188 !important;
	font-weight:bold;
}

#HFSResult .detailsContent #tariffAssistant .showTariffVia{
  display: block !important;
}

#HFSResult .detailsContent #tariffAssistant table tr:nth-child(even) td,
#HFSResult .detailsContent table.tariffTable tr:nth-child(odd) td {
	background:#DADADA;
}

#HFSResult .detailsContent #tariffAssistant table th,
#HFSResult .detailsContent table.tariffTable th {
	border-bottom:2px solid #DADADA;
}

/* ############ Details -Tarif ##### */

#HFSResult .detailsContent #tariffAssistant fieldset {
	border:none;
	margin:0px;
	padding:0px;
}

#HFSResult .detailsContent #tariffAssistant legend {
	font-size:16px;
	color:#008188;
	padding:10px 0px;
}

#HFSResult .detailsContent #tariffAssistant table td {
	padding:3px;
}


/* ######################## tariffAssistant ################### */
#tariffAssistant .ta_person_row {
	clear: left;

}

#tariffAssistant .ta_person_row div.ta_person_first_column,
#tariffAssistant .ta_person_row div.ta_person_quantity {
	margin-bottom: 3px;
}

#tariffAssistant .ta_person_row div.ta_person_first_column {
	float: left;
	width: 114px;
}

#tariffAssistant .ta_person_row div.ta_person_first_column label {
	width: 114px;
	display: inline-block;
	margin-right: 0.5em;
	line-height: 30px;
}

#tariffAssistant .ta_person_row div.ta_person_quantity {
	width: 120px;
	float: left;
	text-align: center;
}


#tariffAssistant .ta_person_row input.ta_person_quantity {
	width: 8ex;
	text-align: center;
}


/* ############## tariffAssistant Result ############## */
.wrapTASuggestions {
	width: 100%;
	position: relative;
	margin-bottom: 20px;
}

.wrapTASuggestions .ta_slider {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.wrapTASuggestions .ta_slider:after {
	clear: both;
}

.wrapTASuggestions .ta_slider li {
	display: block;
	float: left;
	margin-right: -1px;
}

.wrapTASuggestions .ta_slider li.overflowText .taSimple {
	width: 160px;
	text-overflow: ellipsis;
	overflow: hidden;
}


.wrapTASuggestions .ta_slider li .taSimple,
.wrapTASuggestions .ta_slider li .taSimpleActive {
	display: block;
	border: none;
	background: transparent;
	padding: 12px 16px 8px;
	border: 1px solid #dadada;
	border-bottom: none;
	color: #757575;
}

#HFS .wrapTASuggestions .ta_slider li .taSimpleActive {
	color:#008188;
	background: #fff;
}

.wrapTASuggestions .ta_slider li .taSimple {
	color: #978D82;
}

.wrapTASuggestions .taSuggestions {
	padding: 0;
  margin: 0;
}

.wrapTASuggestions .taSuggestions .wrap_ta_suggest_row {
	margin-bottom: 9px;
}

#HFS form .wrapTaSuggestionResult .taSuggestion {
  margin-bottom: 1em;

}

#HFS form .wrapTaSuggestionResult .taSuggestion h3.sepHeader {
    padding: 8px 0 2px;
    margin: 0;
}

#HFS form .wrapTaSuggestionResult .taSuggestion h3.sepHeader small {
  padding: 0 0 0 9px;
  color: #bbb3ab;
}



.wrapTASuggestions .taSuggestionInnerSingle {
	min-height: .01%;

}

.wrapTASuggestions div.taSuggestion table {
	margin: 0;
	width: 100%;
}
.wrapTASuggestions div.taSuggestion table thead th {
    padding: 8px 0 6px;
}

.wrapTASuggestions div.taSuggestion table tbody td {
	padding: 12px 12px 12px 3px;
}

.wrapTASuggestions div.taSuggestion table tbody tr:nth-child(2n) td {
	background: #e6e6e6;
}

#HFS .wrapTASuggestions div.taSuggestion table thead th {
	/*white-space: nowrap;*/
  font-weight: normal;
	border-bottom: 2px solid #bbb3ab;
	color:#008188 !important;
}

#HFS .wrapTASuggestions div.taSuggestion table tr {
	background:#fff;
}

#TarifResult div.taSuggestion table th,
#TarifResult div.taSuggestion table th:first-child {
	text-align:left;
	padding:0 3px;
}

.wrapTASuggestions div.taSuggestion table tbody td.cardPrice {
	font-weight:bold;
}

.wrapTASuggestions div.taSuggestion table tbody td.taEmphasized {
	font-style: italic;
}

.taLegend {
	margin-bottom: 68px;
	padding-bottom: 20px;
}

.tariffDetails .taLegend {
    margin-bottom: 0px;
}

#HFSResult .detailsContent .faresTariffInfo table {
    margin-bottom: 0;
}

#HFSResult .detailsContent .faresTariffInfo table td {
    padding: 0;
}

.tariffDetails a[name="focus"] {
    display: none;
}

.furtherJourneys {
	margin-bottom: 20px;
}

/*****************************************************************************/
/* WizardSteps - Preisgarantie */
#HFS .wrapWizardSteps {
	text-align: center;
}

#HFS .wrapWizardSteps .listWizardSteps {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#HFS .wrapWizardSteps .itemWizardSteps {
	display: inline-block;
	vertical-align: middle;
	padding: 5px 15px;
}

#HFS .wrapWizardSteps .itemWizardSteps.active {
	color: #000;
}

#HFS .wrapWizardSteps .itemWizardSteps.inActive {
	color: #bbb3ab;
}


/* ######################## InfoBox ################### */
.infoBox {
	display: block;
	padding: 0.6em 1em 0.4em;
	border-style: solid;
	border-width: 1px;
	border-color: #bbb3ab;
	background-color: #e6e6e6;
}

.infoBox i[class^="hfs-icon"] {
	font-size: 1.2em;
	margin-top: -1px;
	margin-right: 6px;
}

.infoBox img {
	display: inline-block;
	vertical-align: middle;
}

.infoBox.infoDanger {
	color: #a94442;
	background-color: #f2dede;
	border-color: #ebccd1;
}

.infoBox.infoWarning {
	color: #8a6d3b;
	background-color: #fcf8e3;
	border-color: #faebcc;
}

.infoBox.infoHint {
	color: #31708f;
	background-color: #d9edf7;
	border-color: #bce8f1;
}

.infoBox.infoSuccess {
	color: #3c763d;
	background-color: #dff0d8;
	border-color: #d6e9c6;
}

.textDanger     { color: #e3230d; }
.textWarning    { color: #cb650b; }
.textHint       { color: #2980b9; }
.textSuccess    { color: #168d48; }

.textCenter     { text-align: center; }
.textLeft       { text-align: left; }
.textRight      { text-align: right; }

.noWrap {
    white-space: nowrap;
}


/* ######################## Validationmessages ################### */
.errormessage {
	color: #e74c3c;
  font-size: 0.9em;
}

/**********************************************************************************************************************/
/* Realtime Legend */
#ovLegendRealtime {
	border-top: 1px solid #bbb3ab;
	padding-top: 20px;
}


#ovLegendRealtime .wrapRealtimeLegend {
	margin-bottom: 20px;
}

#ovLegendRealtime .wrapRealtimeLegend .col-left {
	width: 45%;
}

#ovLegendRealtime .wrapRealtimeLegend .col-right {
	width: 55%;
}

#ovLegendRealtime .wrapRealtimeLegend .col-left,
#ovLegendRealtime .wrapRealtimeLegend .col-right {
	float: left;
}

#ovLegendRealtime .wrapRealtimeLegend p {
	position: relative;
  margin: 0 0 3px 0;
  padding-left: 21px;
}

#ovLegendRealtime .wrapRealtimeLegend p > i {
  position: absolute;
  top: 0;
  left: 0;
}

#ovLegendRealtime .wrapRealtimeLegend .clear {
	clear: both;
}






#HFSResult .detailsContent table.ajaxMapConnection .mapConTime span {
	display: inline-block;
	vertical-align: middle;
}

#HFSResult .detailsContent table.ajaxMapConnection .mapConTime span.prognosis {
	margin-left: 6px;
}

/**********************************************************************************************************************/
/* Utilities */
#HFS .notVisible {
    visibility: hidden;
}

#HFS hr.notVisible {
    padding: 0;
    margin: 0.1em auto;
}

#HFS hr.separator {
    padding: 0.1em;
    margin: 0.2em auto 0.1em;
    border: none;
    border-top: 2px solid #bbb3ab;
    height: 1px;
}

#HFS hr.separator.transparent {
    border-top: 2px solid transparent;
}

#HFS ul.listUnstyled {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

/**********************************************************************************************************************/
/* show divs as css-table */
.showAsTable {
    display: table;
    width: 100%;
}

.showAsTableRow {
    display: table-row;
}

.showAsTableCell {
  display: table-cell;
  table-layout: fixed;
  vertical-align: middle;
}


.labelContainer {
    display: inline-block;
    background: #bbb3ab;
    text-transform: uppercase;
    color: #fff;
    padding: 4px 6px 1px;
    font-size: 14px;
    line-height: 1;
}

.labelDanger {
    background: #e74c3c;
}

/**********************************************************************************************************************/
/* InputGen */
#HFS .hfs_inputgen,
#HFS .hfs_inputgen p,
#HFS .hfs_inputgen blockquote {
  font-size: 16px;
  line-height: 20px;
}

#HFS .hfs_inputgen blockquote {
  margin: 0.6em 0 20px;
  padding: 0.4em 0 0.4em 1.2em;
  border-left: 4px solid #008188;
}

#HFS .form_inputgen legend {
  color: #008188;
  margin: 0 0 8px;
}

#HFS .hfs_inputgen h2 {
  color: #008188;
  margin: 0 0 20px;
  font-size:30px;
}

#HFS .form_inputgen legend {
  display: block;
  width: 100%;
  border-bottom: 2px solid #b5b5b5;
}

#HFS .form_inputgen fieldset {
  margin-bottom: 2em;
}

#HFS .form_inputgen fieldset h3 {
  margin-bottom: 0;
}

#HFS .form_inputgen .wrapFormInputs .wrapInputType {
  border-bottom: 1px dotted #bbb3ab;
  padding: 0.6em 1%;
}

#HFS .form_inputgen .wrapFormInputs .wrapInputType:first-child {
  border-top: 1px dotted #bbb3ab;
}

#HFS .form_inputgen .wrapFormInputs .inputSelect,
#HFS .form_inputgen .wrapFormInputs .inputExample {
  display: inline-block;
  vertical-align: top;
}

#HFS .form_inputgen .wrapFormInputs .inputSelect {
  width: 25%;
}

#HFS .form_inputgen .wrapFormInputs .inputExample {
  width: 70%;
}

#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=radio],
#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=checkbox] {
  position: absolute;
  left: -99999em;
}

#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=radio] + .controlCheckRadio .hfs-icon-radio-button-off,
#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=radio]:checked + .controlCheckRadio .hfs-icon-radio-button-on {
  display: block;
}

#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=radio]:checked + .controlCheckRadio .hfs-icon-radio-button-off,
#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=radio] + .controlCheckRadio .hfs-icon-radio-button-on {
  display: none;
}

#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=checkbox] + .controlCheckRadio .hfs-icon-check-box-outline-blank,
#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=checkbox]:checked + .controlCheckRadio .hfs-icon-check-box {
  display: block;
}

#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=checkbox]:checked + .controlCheckRadio .hfs-icon-check-box-outline-blank,
#HFS .form_inputgen .wrapFormInputs .controlSelect input[type=checkbox] + .controlCheckRadio .hfs-icon-check-box {
  display: none;
}

#HFS .messageBlockHIM  {
	margin-bottom:20px;
}

#HFS .journeyMessageHIM  {
	margin:10px 0px;
}

#HFS a.hfs_stationPlanIcon {
	color:#fff !important;
	background:#008188;
	border-radius:100%;
	line-height:18px;
	width:18px;
	text-align: center;
	display:inline-block;
	margin-left:5px;
}

#HFS a.hfs_stationPlanIcon:hover {
	color:#fff;
	background:#001e49;
}

#HFS .hfs_defliSwitch {
}

#HFS .hfs_defliSwitch .hfs_delfiSwitchButtonHolder {
	display:inline-block;
	padding-right: 10px;
}

#HFS .hfs_defliSwitch .hfs_delfiSwitchButtonHolder a {
	display:inline-block;
	position: relative;
	padding-right:20px;
	color:#001e49;
	font-weight:bold;
}

#HFS .hfs_defliSwitch .hfs_delfiSwitchButtonHolder a:hover,
#HFS .hfs_defliSwitch .hfs_delfiSwitchButtonHolder a.selected {
	color:#008188;
}

#HFS .hfs_defliSwitch .hfs_delfiSwitchButtonHolder a .arrow:after {
	font-family: NahSH-Iconfont !important;
	content: "\E92D";
}


#HFS .travellerHint {
	padding:10px;
	color:#e74c3c;
	font-weight:bold;
	background:#ddd;
}

#HFS button:disabled {
	opacity:0.3;
	cursor:not-allowed; 
}

#HFS button.webshoplink {
	border:none;
	background:#757575;
	color:#fff;
	font-size:14px;
	padding:5px 20px;
	margin:0 5px;
}






