
@media screen {
	html {
		height:100%;
		margin:0px;
		overflow-y:scroll ! important;
		overflow-x:hidden ! important;
		-webkit-text-size-adjust: none;
	}
	body {
		margin:0px;
		font-size:16px;
		background-color:#edeceb;
		background-color:#fff;
		height:100%;
		overflow:visible ! important; /* overwrite md-setting, needed for scroll evenet */
		-webkit-text-size-adjust: none;
		-webkit-font-variant-ligatures: no-common-ligatures;
		font-variant-ligatures: no-common-ligatures;
	}
	html.noScroll {
		overflow:hidden ! important;
	}
}


/* Basis-Schriftstile */


/* END Basis-Schriftstile */


/* Layoutbereich und Fuss */

body div#Layoutrahmen {
	height: 100%;
	xxwidth: 100%;
}
body div#Layoutbereich {
	margin:0px auto;
	-webkit-font-variant-ligatures: none;
	font-variant-ligatures: none;
}
.output {
	-webkit-font-variant-ligatures: none;
	font-variant-ligatures: none;
}
body > div#Layoutbereich { /*sticky footer */
}
	body div#Layoutbereich_Innen {
		position:relative;
	}


/* Kopf */
/*
body div.output #Kopf {
	background-color:#fff;
}
body div.output div#Logo {
	float:left;
	margin-left:0%;
	width:25%;
	width:calc(15% + 160px);
}
	body div.output div#Logo a {
		width:100%;
		padding-bottom:40%;
		display:block;
		position:relative;
	}
	body div.output div#Logo img {
		display:block;
		position:absolute;
		width:100%;
		height:100%;
		-ms-interpolation-mode: bicubic;
		background:rgba(255,255,255,0.001);
	}
	body div.output div#Logo img.vector {
		display:none;
	}
	.svg body div.output div#Logo img.vector {
		display:block;
	}
	.svg body div.output div#Logo img.pixel {
		display:none;
	}
*/



/* Inhaltsbereich */

body div.output #Inhaltsbereich {
	/*padding:0 30px;+7
	/*overflow:hidden;*/
	min-height:400px;
	max-width:1600px;
	margin:0 auto;
	background:white;
	/*box-shadow:0 0 6px rgba(0,0,0,0.5);*/
}
body div.output div#Inhaltsbereich_Innen {
	position:relative;
	/*padding: 10px 170px 10px 0;*/ /* Platz fuer rechte Spalte */
	padding: 10px 0px 10px 0;
	background:white;

/*	transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
*/
}
body.isAdmin div.output div#Inhaltsbereich_Innen {
	/* 2013_0930  */
	transform: none;
	-moz-transform: none;
	-webkit-transform: none;
}




@media only screen and (max-width: 767px) {
	body div#Layoutbereich {
		padding:0px;
	}
	body div#Seitenfuss_Innen {
	}
}
@media only screen and (max-width: 767px) {
	body div#Layoutbereich {
	}
	body div#Seitenfuss_Innen {
	}
	body div.output div#Logo {
		float:none;
		width:200px;
		width:calc(15% + 160px);
	}
	body div.output div.Spalte_Rechts {
		width:100%;
		float:left;
	}
}
@media only screen and (max-width: 479px) {
	body div#Layoutbereich {
		width:100%;	
		min-width:240px;
	}
	body div#Seitenfuss_Innen {
		width:100%;
	}
	body div#Seitenfuss {
		display:block;
		width:100%;
	}
}
@media only screen and (max-width: 479px) {
	body div#Layoutrahmen {
		display:block;
		height:auto;
	}
	body div#Seitenfuss {
		display:block;
	}
}


	

.output img {
	max-width: 100%;
	height:auto ! important; /* important wegen inline-Angaben */
}

.output .clear {
	clear:both;
}
.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	line-height: 0;
	visibility: hidden;
}
.clearfix {
	display: block; /* inline-block */
}
html[xmlns] .clearfix {
	display: block;
}
* html .clearfix {
	height: 1%;
}

/* http://nicolasgallagher.com/micro-clearfix-hack/ */
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}


/*.output div.Sheet, .output .rounded {*/
.output div.Hinterlegung { /* analog: Absatz-Format p.Hinweis */
	background-color:rgba(75, 70, 63, 0.1);

	padding: 10px 15px;
}



.output .Fehlermeldung  {
	margin-bottom:10px;
}
.output .Fehlermeldung h5  {
	margin-top:0px
}

.output div.Spalte1 {
	float:left;
	width:103px;
}
.output div.Spalte2 {
	margin-left:108px;
}
.output .Steuerelement_captcha img {
	margin-top:14px;
}
.Steuerelement_captcha .Feldbezeichnung {
	margin-bottom:14px;
	margin-bottom:1.2em;
	margin-top:2.5em;
}
.Steuerelement_captcha .Feldbezeichnung .Fehlermeldung {
	display:none;
}
.output .Steuerelement_captcha.Fehlerbereich .Feldbezeichnung .Fehlermeldung {
	display:block;
	margin-bottom:0;
}
.output .Steuerelement.Erforderlich label {
	font-weight:700;
}
.output .Fehlerbereich input, .output .Fehlerbereich select, .output .Fehlerbereich textarea {
	background-color:#f4ebeb;
}







/* Table Richtext */
.output div.RichText table {
	border-spacing: 0px;
	/*margin:25px 0;*/
	width:100%;
	height:auto ! important;
}
.output div.RichText table th, .output div.RichText table td {
	vertical-align:top;
	text-align:left;
	font-weight:300;
	padding: 10px 10px 10px 10px;
	border:0px none;
}
.output div.RichText table tr:nth-child(2n+1) {
	background-color:#ebebeb;
}
.output div.RichText table th {
	background-color:#009767;
	text-transform:uppercase;
	color:white;
	font-weight:700;
}
.output div.RichText table tr:nth-child(2n+1) th {
	background-color:#008a60;
}
.output div.RichText table th > *:first-child,
.output div.RichText table td > *:first-child {
	margin-top:0px;
	padding-top:0px;
}
.output div.RichText table th > *:last-child,
.output div.RichText table td > *:last-child {
	margin-bottom:0px;
	padding-bottom:0px;
}

	.PTPS_2015 {
		overflow-x:auto;
	}
	.PTPS_2015 td a {
		color:black;
	}
	.PTPS_2015 .PT_2015 th,
	.PTPS_2015 .PT_2015 td {
		border:0px none;
		border-bottom:1px solid transparent;
	}
	
	.PTPS_2015 th {
		background-color: #009767;
		color:white;
		border: 1px solid white;
		padding:10px;
		vertical-align:top;
		font-weight:bold;
		white-space:nowrap;
	}
	.PTPS_2015 td {
		vertical-align:top;
		background-color:white;
	}
	.PTPS_2015 td.PT_2015_Price {
		background-color:white;
		text-align:right;
	}
	.PTPS_2015 tr.idx_0 td,
	.PTPS_2015 tr.idx_0 td.PT_2015_Price {
		background-color:#ebebeb;
	}
	.PTPS_2015 tr.idx_0 td.PT_2015_Valid {
		background-color:#008a60;
	}
	.PTPS_2015 .PT_2015 tr.idx_0 td.PT_2015_Name,
	.PTPS_2015 .PT_2015 tr.idx_0 td.PT_2015_Pers,
	.PTPS_2015 .PT_2015 tr.idx_0 td.PT_2015_Price {
		border-bottom:1px solid white;
	}
	.PTPS_2015 .PT_2015 tr.idx_1 td.PT_2015_Name,
	.PTPS_2015 .PT_2015 tr.idx_1 td.PT_2015_Pers,
	.PTPS_2015 .PT_2015 tr.idx_1 td.PT_2015_Price {
		border-bottom:1px solid #ebebeb;
	}

	.PTPS_2015 td.PT_2015_Valid {
		background-color: #009767;
		color:white;
		text-transform:uppercase;
		font-weight:bold;
	}
	.PTPS_2015 td.PT_2015_Pers {
		text-align:center;
	}





.output div.BoxPadding {
	padding:0.5em 0;
}
.output div.BoxGap {
	margin-bottom:20px;
}

.output div.AbbildungContainer {
    line-height: 0;
}





	
.output .pswp img {
	max-width:100000px;
}
.output div.pswp__caption__center {
	font-size:inherit;
	line-height:inherit;
}
.output span.pswp__caption1 {
	font-weight:700;
}
.output .pswp__bg {
	background-color:rgba(0,0,0,0.8);
}
.pswp__ui--fit .pswp__top-bar, .pswp__ui--fit .pswp__caption {
	background-color:rgba(0,0,0,0.65);
}
.pswp__top-bar, .pswp__caption,
.pswp__ui--fit .pswp__top-bar, .pswp__ui--fit .pswp__caption {
	xxbackground-color:transparent; /*rgba(0,0,0,0.65);*/
}
.pswp__button--arrow--left:before, .pswp__button--arrow--right:before {
	background-color: transparent;
	width:44px;
	height:44px;
	top: 28px; /* (100-44)/2 */
}
.pswp__caption__center {
	color:white;
}
.pswp__counter {
	opacity:1;
}
.pswp__button {
	opacity:0.65;
}



.Hinterlegung.erweiterbar {
	position:relative;
}
.Hinterlegung.erweiterbar .Text {
	display:none;
}
.Hinterlegung.erweiterbar .Text > h5 {
	margin-top:15px;
	padding-top:15px;
	border-top:1px solid white;
	font-weight:normal;
	text-transform:uppercase;
	font-size:10px;
}
.Text_Kommentar > h5.h5-Caption {
	padding-top:5px;
	border-top:1px solid white;
	font-weight:normal;
	text-transform:uppercase;
	font-size:10px;
}
.Text_Kommentar {
	border:1px solid rgba(75, 70, 63, 0.2);
	padding:9px 14px;
	margin-bottom:20px;
}
.Hinterlegung.erweiterbar.erweitert .Text {
	display:block;
}
.Hinterlegung.erweiterbar .Kopf {
	padding:3px 0;
	text-transform:uppercase;
}

.Hinterlegung.erweiterbar .Kopf,
.Hinterlegung.erweiterbar span.Icon {
	cursor:pointer;
}
.Hinterlegung.erweiterbar > span.Icon {
    display: none;
    position: absolute;
    right: 12px;
    top: 5px;
    height: 25px;
    line-height: 25px;
    padding-top: 5px;
}
.Hinterlegung.erweiterbar.erweitert > span.Icon.output-i-Navigation-Unten {
    display: block;
}
.Hinterlegung.erweiterbar:not(.erweitert) > span.Icon.output-i-Navigation-Rechts {
    display: block;
}



.output strong,
.output b {
	font-weight:700;
}


/** Linien-"Icons" im Text */
/*
	.output span.vgnLine,
	.output a.vgnLine {
		border: 0px none;
		background-color: #e70029;
		background-color: #E4342E;
		color: white;
		padding: 1px 4px 0px 4px;
		margin:0px 1px;
		border-radius: 1em;
		vertical-align: text-bottom;
		white-space: nowrap;
		display: inline-block;
		text-decoration: none ! important;
		-webkit-user-select: none;
		user-select: none;
		cursor:pointer;
		min-width:1.77em;
		text-align:center;
	}
	.output .Fahrplannews span.vgnLine,
	.output .Fahrplannews a.vgnLine {
		font-size:11px;
		padding: 1px 3px;
		margin-top:-2px;
	}
	.output span.vgnLine.vgnUBahn,
	.output a.vgnLine.vgnUBahn {
		background-color: #000099;
		background-color: #006291;
		border-radius:0px;
	}
	.output span.vgnLine.vgnSBahn,
	.output a.vgnLine.vgnSBahn {
		background-color: #009a63;
		background-color: #42864A;
		border-radius:0px;
	}
	.output span.vgnLine.vgnRBahn,
	.output a.vgnLine.vgnRBahn {
		background-color: #009a63;
		background-color: #009163;
		border-radius:0px;
	}
	.output span.vgnLine.vgnTram,
	.output a.vgnLine.vgnTram {
		background-color: #852D6D;
		border-radius:0px;
	}
	.output span.vgnLine.vgnNightliner,
	.output a.vgnLine.vgnNightliner {
		color:#003f81;
		background-color: transparent;
		border-radius:0px;
		padding-right:75px;
		background-image:url('/ib/site/elements/Symbole/Nightliner.png');
		background-position:100% 50%;
		background-repeat:no-repeat;
	}
*/
	
img.Icon {
	height:1em ! important;
	display:inline-block;
	margin-top:-2px;
}








#loadingAnimation-overlay {
	position:fixed;
	left:0px;
	top:0px;
	right:0px;
	bottom:0px;
	background-color:rgba(255,255,255,0.85);
	z-index:100002;
	
	display:none;
}
#loadingAnimation {
	position:fixed;
	left:0px;
	top:0px;
	right:0px;
	bottom:0px;
	z-index:100003;
	display:none;
}
#loadingAnimation-text{
	position:absolute;
	top:calc(50% + 40px);
	width:100%;
	color:#000; /* rgba(0,0,0,0.65) */
}
#loadingAnimation-text2 {
	margin:0 auto;
	max-width:400px;
	/*text-align:center;*/
}
.loadingAnimation-text-center {
	text-align:center;
}

@-webkit-keyframes ibrotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes ibrotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.ib-showbox {
  position: absolute;
  top: calc(50% - 40px);
  left: calc(50% - 40px);
  height:80px;
  width:80px;
}

.ib-loader {
  position: relative;
  margin: 0px auto;
  width: 80px;
}
.ib-loader:before {
  content: '';
  display: block;
  padding-top: 100%;
}

.ib-circular {
  -webkit-animation: ibrotate 1.1s linear infinite;
          animation: ibrotate 1.1s linear infinite;
  height: 100%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.ib-path {
  stroke-dasharray: 20, 200;
  stroke-dashoffset: 0;
  stroke-linecap: butt;
  stroke:white;
}
.ib-path0 {
  stroke:#40648a;
}




/* autocomplete */
	.autocomplete-w1 {
			position:absolute; top:5px; left:0px; margin:8px 0 0 6px; /* IE6 fix: */ _background:none; _margin:0;
	}
	.autocomplete {
		background:#FFF;
		cursor:default;
		text-align:left; 
		max-height:350px;
		overflow:auto;
		min-width:280px;
		margin:-6px 6px 6px -6px;
		box-shadow:0 0 3px rgba(0,0,0,0.5);
		/* IE6 specific: */ _height:350px;  _margin:0; _overflow-x:hidden;
	}
	@media screen and (max-width:360px) {
		.autocomplete {
			xxwidth:calc(100vw - 20px) ! important;
		}
	}
	.autocomplete div {
		padding:0px;
		position:relative;
	}
	.autocomplete div {
		xxwhite-space:nowrap;
	}
	.autocomplete strong { font-weight:500; }

	div.searchAutocomplete span {
		position:relative;
		display:block;
		line-height:20px;
		padding:14px 5px 14px 10px;
		margin-right:48px;
		transition:background-color 0.3s;
		overflow:hidden;
		text-overflow:ellipsis;
		text-decoration:none ! important;
		color:black ! important;
	}
div.EFA-List-Element-Fav a.Eintrag.hover {
		background-color:#ecf0f3
	}
	.autocomplete .selected {
		background:#ecf0f3;
	}
@media screen and (min-width:768px) {
	div.CreditList {
		column-count:2;
		column-gap:20px;
	}
}
div.Credit {
	font-size:80%;
	margin-bottom:0.25em;
}

/*
	.PTPS_2015 {
		overflow-x:auto;
	}
	.PTPS_2015 td a {
		color:black;
	}
	.PTPS_2015 th {
		background-color: #6683a1;
		color:white;
		border: 1px solid white;
		padding:14px 6px;	
		vertical-align:top;
	}
	.PTPS_2015 td {
		vertical-align:top;
		background-color:#9bc7b5;
	}
	.PTPS_2015 td.PT_2015_Price {
		background-color:#9bc7b5;
	}
	.PTPS_2015 td.PT_2015_Pers {
		text-align:center;
	}
	.PTPS_2015 td.PT_2015_Name,
	.PTPS_2015 td.PT_2015_Pers {
		background-color: #b7e0d4;
	}
*/


	
.Steckbrief h2,
h2.tcap {
	margin-bottom:1.0em;
}
.Steckbrief table {
	width:100%;
}
.Steckbrief .RichText2 table td,
.Steckbrief .RichText2 table th,
table.props td,
table.props th {
	padding-bottom:0.5em;
	vertical-align:top;
}
.Steckbrief .RichText2 table th,
.Steckbrief .RichText2 table tr > td:first-child,
table.props th {
	padding-right:0.5em;
	text-transform:uppercase;
	font-weight:700;
}
table.props.propsPR th {
	padding-right:1.3em;
}
table.props.props2 th { /* PGX-Down */
	font-weight:300;
	text-transform:none;
}
table.props.props3 span.Icon { /* Bewertungen */
	color:#009767;
}
@media screen and (max-width:767px) {
	table.props.propsPR,
	table.props.propsPR tr,
	table.props.propsPR th,
	table.props.propsPR td {
		display:block;
	}
	table.props.propsPR th {
		padding-bottom:0;
		padding-right:0;
	}
	table.props.propsPR tr {
		margin-bottom:0.5em;
	}
	table.props.propsPR tr:last-child {
		margin-bottom:0;
	}
}
@media screen and (max-width:499px) {
	table.props3,
	table.props3 tr,
	table.props3 th,
	table.props3 td {
		display:block;
	}
	table.props3 tr {
		margin-bottom:0.5em;
	}
	table.props3 tr:last-child {
		margin-bottom:0;
	}
}


.lang_en .bnUpdate,
body.lang_en .filterShowFilterOpen,
html:not(.PTDisplay) body.lang_en:not(.isEFA2) .FilterArea {
	display:none ! important;
}

.SteckbriefbannerImage a.waves-effect {
	overflow:visible;
}
.SteckbriefbannerImage img {
	transition:all 0.2s linear;
}
.SteckbriefbannerImage a.hover img {
	transform:scale(1.03); /* usual scale, 30% of card-image-scaling */
}

@media screen and (min-width:992px) {
	.Steckbriefbanner {
		position:relative;
		margin:0 auto;
		margin-bottom:2em;
		xxwidth:80%;
		text-align:center;
		xxpadding-bottom:35%;
	}
	.SteckbriefbannerImage {
	}
	.SteckbriefbannerImage a,
	.SteckbriefbannerImage span {
		display:block;
		/*
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		*/
		position:relative;
		text-align:center;
	}
	.SteckbriefbannerImage img {
		display:inline-block;
		max-width:100%;
		xxheight:100% ! important;
	}
}
@media screen and (max-width:991px) {
	.Steckbriefbanner {
		position:relative;
		margin:2em 0 3em 0;
	}
	.SteckbriefbannerImage a,
	.SteckbriefbannerImage span,
	.SteckbriefbannerImage img {
		display:block;
	}
}

.Box_Steckbrief_halb, .Box_Steckbrief_halb .Steckbrief,
.Box_Steckbrief_halb .Steckbrief .row, .Box_Steckbrief_halb .Steckbrief .cardbg2, .Box_Steckbrief_halb .Steckbrief .card {
	display: flex;
    flex-direction: column;
    justify-content: stretch;
}
.Box_Steckbrief_halb .Steckbrief, .Box_Steckbrief_halb .Steckbrief .row, .Box_Steckbrief_halb .Steckbrief .cardbg2, .Box_Steckbrief_halb .Steckbrief .card{
	flex-grow:1
}
.Box_Steckbrief_halb .Steckbrief .row .card {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}

input[type=number] {
    -moz-appearance:textfield;
}