html {
	min-height: 101%;
}
body {
	background: #27b;
	background: #FFF;
	margin: 0;
	font: 13px "Average Sans", Trebuchet MS, sans-serif;
	line-height: 1.5;
	color: #000;
}
#root {
	background: #fff;
}

/* Überschriften */

h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 0.5em;
}

h1 {
	font-size: 20px;
	font-weight: bold;
	color: #06a;
}
h2 {
	font-size: 18px;
	font-weight: bold;
	color: #06a;
}
h3 {
	font-size: 18px;
	font-weight: bold;
	color: #06a;
}
h4 {
	font-size: 1em;
}
h5 {
	font-size: 1.2em;
	color: #06a;
}
h6 {
	font-size: 1em;
}

/* Absatzformate */

p {
	margin-top: 0;
	margin-bottom: 1em;
}
p.previous {
	float: left;
}
p.overview {
	text-align: center;
}
p.next {
	float: right;
}
p:last-child {
	margin-bottom: 0;
}

/* Hyperlinks */

a {
	color: #06a;
	text-decoration: none;
}
#content a {
	text-decoration: underline;
}
a:focus {
    outline: none;
}
a:active {
	outline: none;
}
a:hover {
	color: #000;
	text-decoration: underline;
	outline: none;
}
a.more, a.back {
	font-size: 14px;
	text-decoration: none;
	display: block;
	height: 30px;
	line-height: 28px;
	text-shadow: 0 1px 0 rgba(0,0,0,0.3);
	color: #fff;

}
a.more {
	background-image: url(../images/back/back_buttons.png);
	background-position: 0 -80px ;
	background-repeat: no-repeat;
	width: 114px;
	padding-left: 12px;
}
a.back {
	float: left;
}
a.more:after {
	/*content: "\00a0\203A";*/
}
a.back:before {
	content: "\2039\00a0";
	font-size: 1.25em;
}
a.more:hover, a.back:hover {
	color: #FFF;
	background-position: 0 -120px;
}
a.external:after {
	content: "\00a0\2197";
}


/* Inline-Formate */

strong {
    font-weight: bold;
}
abbr[title] {
    border-bottom: 1px dotted;
	cursor: help;
}
sup, sub {
	font-size: 0.7em;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.3em;
}
sub {
    bottom: -0.3em;
}
small {
	font-size: 0.8em;
	font-weight: normal;
}
small a {
}
small a:hover {
}


/* Abbildungen */

figure {
    margin: 0;
}
img {
	display: block;
    border: none;
}

/* iframes */

iframe {
	border: none;
	margin-bottom: 1em;
	max-width: 100%;
	width: 100%;
}

/* Sonderformate */

hr {
	clear: both;
	height: 1px;
	border-top: none;
	border-right: none;
	border-left: none;
	display: block;
	margin: 0 0 2em;
	padding: 1em 0 0;
	border-bottom: 1px solid #ddd;
}

.group:after,
.group:before {
	content: '';
	display: table;
}
.group:after {
	clear: both;
}
.mobile {
	display: none;
}
.mobile2 {
	display: none;
}

/* Formularelemente */

form {
	margin: 0;
	padding: 0;
}
form span {
	color: #999;
}
form br {
	clear: left;
}
fieldset {
	margin: 0;
	padding: 1em 0 2em;
	border-style: none;
}
legend {
	padding: 0;
	margin: 0;
	color: #666;
	font-weight: bold;
}
label {
	padding-right: 1em;
	vertical-align: middle;
}
input {
	font-size: 1em;
	font-family: "Average Sans", Arial, sans-serif;
	line-height: 28px;
	height: 28px;
	vertical-align: middle;
	border: 1px solid #ccc;
	padding: 0 4px;
	background-color: #fff;
}
input:focus {
	border: 1px solid #06a;
}
input[type=checkbox], input[type=radio] {
	width: 1.5em;
	height: 1.5em;
	margin: 0.3em 0 0.2em;
	padding: 0;
}
textarea {
	font: 1em/1.5 "Average Sans", Arial, sans-serif;
    overflow: auto;
	margin: 0;
}
select {
	font: 1em "Average Sans", Arial, sans-serif;
}
button {
	font-family:  "Average Sans", Arial, sans-serif;
	font-size: 14px;
	line-height: normal;
	cursor: pointer;
	text-shadow: 0 1px 0 rgba(0,0,0,0.3);
	color: #FFF;
	border: none;
	background-color: transparent;
	background-image: url(../images/back/back_buttons.png);
	background-repeat: no-repeat;
	width: 151px;
	padding: 5px 0 5px 12px;
	text-align: left;
}

button.action {
	position: relative;
	top: -2px;
	padding: 3px 0 3px 12px;
	border: solid 1px #C50;
	background-color: #E50;

	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2), inset 0 1px rgba(255,255,255,0.6), inset 0 0 4px rgba(255,255,255,0.4);
	-moz-box-shadow: 0 1px 1px rgba(0,0,0,0.2), inset 0 1px rgba(255,255,255,0.6), inset 0 0 4px rgba(255,255,255,0.4);
	box-shadow: 0 1px 1px rgba(0,0,0,0.2), inset 0 1px rgba(255,255,255,0.6), inset 0 0 4px rgba(255,255,255,0.4);

	background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0));
	background-image: -moz-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0));
	background-image: -o-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0));
	background-image: -ms-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0));
	background-image: linear-gradient(to bottom, rgba(255,255,255,0.3), rgba(255,255,255,0));
}
button.action:hover {
	background-color: #E84;
}
button.action img {
	float: right;
	padding-right: 0.25em;
}
button.next {
	float: right;
}
@-moz-keyframes spin {
    from { -moz-transform: rotate(0deg); }
    to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    from { -webkit-transform: rotate(0deg); }
    to { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
    from {transform:rotate(0deg);}
    to {transform:rotate(360deg);}
}
button.action img.processing {
	-webkit-animation-name: spin;
    -webkit-animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: spin;
    -moz-animation-duration: 1s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    -ms-animation-name: spin;
    -ms-animation-duration: 1s;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: linear;
    -webkit-transform-origin: 45% 50%;
	-moz-transform-origin: 45% 50%;
	-o-transform-origin: 45% 50%;
	transform-origin: 9px 10px;
}

/* Fix für Buttondarstellung im Firefox */
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}

button:hover {
	background-position: 0 -40px;
}
button.cancel {
	background-image: url(../images/back/back_buttons-grau.png);
}
button.event {
	background-image: url(../images/back/back_buttons-grau.png);
}
button.okay {
	background-image: url(../images/back/back_buttons.png);
}
button.execute {
	background-image: url(../images/back/back_buttons.png);
}


/* Tabellen */

table {
    border-collapse: collapse;
    border-spacing: 0;
	border-style: none;
	table-layout: fixed;
}
caption {
	font-size: 1.2em;
	font-weight: 600;
	text-align: left;
	margin-bottom: 1em;
}
th {
	text-align: left;
	padding: 0.25em;
}
td {
	vertical-align: top;
	padding: 0.25em;
}


/* Kopfbereich */

#header {
	height: 75px;
	width: 940px;
	background: #FFF;
	margin: 0 auto ;
}
#header ul {
	margin: 0;
	padding: 0;
}
#header li {
	list-style: none;
}

/* Titel */

#title {
	float: left;
	width: 130px;
	padding-left: 16px;
}
#title a {
	color: #000;
	text-decoration: none;
	display: block;
}
#title img {
	max-width: 100%;
}






/* Hauptnavigation */

#nav {
	float: left;
	padding-top: 25px;
	margin-left: 75px;
}
#nav ul {
}
#nav ul ul {
	display: none;
}
#nav li {
	float: left;
}
*+html #nav ul {
	float: left;
}
#nav a {
	color: #777;
	white-space: nowrap;
	display: block;
	padding: 5px 1.4em 0.8em 0.5em;
	font-size: 1.2em;
	text-transform: uppercase;
	background: #fff url(../images/icon/icon_nav.gif) no-repeat 100% 45%;
	margin-right: 1.1em;
	border: 1px solid #fff;
	position: relative;
}

*+html #nav a {
	background: #fff url(../images/icon/icon_nav.gif) no-repeat 100% 65%;
	margin-top: 1px;
	z-index: 9999;
	padding-bottom: 2px;
	border-top: 3px solid #fff;
}
#nav a:hover,
#nav li:hover a {
	text-decoration: none;
	box-shadow: 0 0 3px #666;
	border: 1px solid #ccc;
}
*+html #nav a:hover,
*+html #nav li:hover a {
	border-top: 3px solid #ccc;
}
#nav a.current {
	color: #333;
}
#nav a.openclose {
	display: none;
}

#nav a:hover span,
#nav li:hover a span {
	position: absolute;
	display: block;
	height: 10px;
	width: 100%;
	background: #fff;
	top: 2em;
	left: 0;
	z-index: 300;
}
*+html #nav a:hover span,
*+html #nav li:hover a span {
	background: #fff;
	top: 1.6em;
	z-index: 10000;
}

#nav label {
	background: #CCC;
	text-align: center;
	cursor: pointer;
	display: none;
}
#nav input {
	display: none;
}

#nav ul li:hover ul {
	display: block;
}

/* Megadropdown */

#nav .megadropdown {
	position: absolute;
	top: 140px; /* org. 70px */
	left: 50%;
	margin-left: -293px;
	z-index: 100;
	min-height: 300px;
	background: #bad3e8 url(../images/back/back_megadropdown.gif) repeat-x top;
	border: 1px solid #ccc;
	box-shadow: 0 0 3px #666;
	width: 420px;
	font-size: 13px;
}
#nav .megadropdown.wide {
	width: 760px;
}
#nav .megadropdown li {
	float: none;
	padding: 30px;
	margin: 0;
}
#nav .megadropdown ul {
	width: 153px;
	float: left;
	margin-right: 20px;
	padding-bottom: 40px;
}
*+html #nav .megadropdown ul {
	padding-bottom: 20px;
}

#nav .megadropdown ul li {
	border-bottom: 1px solid #abd;
	width: auto;
	padding: 0;
}
#nav .megadropdown a,
#nav li:hover .megadropdown a {
	background: transparent;
	box-shadow: none;
	text-transform: none;
	padding:  0.3em 0.2em;
	border: none;
}
#nav .megadropdown a {
	color: #005ea8;
	font-size: 18px;
}
#nav .megadropdown a:hover {
	color: #000;
}
#nav .megadropdown ul ul a {
	color: #000;
	font-size: 14px;
}
#nav .megadropdown ul ul a:hover {
	color: #666;
}

#nav .megadropdown ul.right {
	float: right !important;
}

/* Megadropdown Teaser*/

#nav .megadropdown .teaser {
	width: 160px;
	float: right;
	padding: 0 0 0 20px;
	margin: 0;
	background: transparent;
	margin: 0;
	border-left: 1px solid #abd;
	color: #000;
}
#nav .megadropdown .teaser img {
	width: 160px;
	margin: 0;
	border: 1px solid #ccc;
}
#nav .megadropdown .teaser h4 {
	color: #333;
	font-size: 16px;
	margin: 0;
	padding-top: 10px;
}
#nav .megadropdown .teaser a.more {

	color: #fff;
	display: block;
	margin: 0;
	padding: 0 0 0 12px;
	background-image: url(../images/back/back_buttons.png);
	background-repeat: no-repeat;
	font-size: 14px;
	width: 139px;

}
#nav .megadropdown .teaser a.more:hover,
#nav .megadropdown .teaser a.more:focus {
	background-position: 0 -40px;
}


/* Hauptbereich */

#main {
	width: 940px;
	background: #fff;
	margin: 0 auto;
	padding: 10px 0 50px 20px;
	clear: left;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto;
}
.start #main {
	padding-left: 0;
}

/* Absatzformate */

#main p.byline {
	font-size: 0.9em;
	color: #999;
}
#main p.byline a {
	color: #666;
}
#main p.previous {
	color: #999;
}
#main p.previous a {
	color: #666;
}
#main p.previous a:before {
	content: "\2039\00a0";
	font-size: 1.25em;
}
#main p.overview a {
	color: #666;
}
#main p.next {
	color: #999;
}
#main p.next a {
	color: #666;
}
#main p.next a:after {
	content: "\00a0\203A";
	font-size: 1.25em;
}

#main a {
	color: #06a;
	text-decoration: underline;
}
#main a:hover {
	color: #000;
	text-decoration: underline;
}
#main a.more {
	color: #fff;
	text-decoration: none;
}

/* Listen */

#main ul,
#main ol  {
	margin: 1em 0 1.5em 2.5em;
	padding: 0;
}
#main li {
	margin-bottom: 0.5em;
	margin-top: 0;
}
#main dl {
	margin: 0 0 1em;
	padding: 0;
}
#main dt {
	float: left;
	padding-right: 1em;
	width: 9em;
}
#main dd {
	margin-left: 10em;
}

/* Tabellen */

#main table {
	width: 100%;
	margin: 1em 0 2em;
}
#main tbody tr {
	transition: background 0.5s;
}
#main tbody tr:hover {
	background: #f5f5f5;
}
#main col.title {
	width: 50%;
}
#main col.departure {
	width: 40%;
}
#main col.date,
#main col.filesize {
	width: 20%;
}
#main col.filetype{
	width: 10%;
}
#main col.line {
	width: 9%;
}
#main thead {
	background: #1a70b9;
	color: #fff;
}
#main tfoot {
	background: #eee;
}


#main .tr-odd {
	background: #DDD;
}
#main .tarife td,
#main .tarife th {
	text-align: right;
	padding-right: 5px;
}
#main .tarife .td-0 {
	width: 10em;
	text-align: left;
}

/* Abbildungen */

#main figure {
	background: #FFF;
	padding: 10px;
	text-align: center;
}
#main figure.left {
	float: left;
	padding: 30px;
	margin-right: 20px;
	margin-bottom: 10px;
}
#main figure.right {
	float: right;
	padding: 30px;
	margin-left: 20px;
	margin-bottom: 10px;
}
#main figure ul {
	background: #DDD;
	margin: 10px 0px 0px;
	padding: 0px;
	list-style: none;
	overflow: hidden;
}
#main figure li {
	float: left;
	margin: 5px 0px 5px 10px;
	padding: 0px;
	width: 60px;
}
#main figure li:first-child {
	margin-left: 5px;
}
#main figure.payment {
	width: 160px;
}
#main figcaption {
	margin-top: 10px;
}
#main img.inline {
	display: inline;
	margin-right: 5px;
	margin-left: 5px;
	vertical-align: middle;
}
#main img.left {
	float: left;
	margin-right: 20px;
	margin-bottom: 10px;
}
#main img.center {
	margin-right: auto;
	margin-left: auto;
}
#main img.right {
	float: right;
	margin-left: 20px;
	margin-bottom: 10px;
}


/* Formulare */


#main fieldset.button {
	padding-left: 11em;
}
#main fieldset.submit {
	float: right;
}
#main fieldset.information {
	padding-top: 1em;
	padding-bottom: 0;
	position: relative;
}


#main fieldset.payment {
	width: 400px;
}
#main fieldset.payment div {
	border-bottom: 1px solid #CCC;
	padding: 10px 15px 10px 5px;
	float: left;
	margin-left: 150px;
	margin-top: -10px;
	margin-bottom: 10px;
	width: 280px;
}
#main fieldset.payment div.current {
	background: #EEE;
}
#main fieldset.payment img {
	vertical-align: middle;
	margin: 0px 0px 0px 10px;
	float: right;
	display: inline;
	clear: none;
}


#main span.hint {
	vertical-align: baseline;
	padding-left: 1em;
}
#main span.example {
	display: block;
	margin-left: 11em;
	padding-top: 0.5em;
}



/* Feldbezeichner */

#main label.before {
	display: block;
	float: left;
	line-height: 2;
	width: 10em;
}
#main label.between {
	line-height: 2em;
	padding-left: 1em;
}
#main label.after {
	display: block;
	float: left;
	width: 39em;
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}
#main label.none {
	float: left;
	line-height: 2;
	white-space: nowrap;
	width: 0;
	margin-right: -11em;
	padding-right: 0;
}
#main label.check {
	float: left;
	width: 40em;
	margin-bottom: 0.5em;
}
#main label.error {
	color: #C00;
}
#main label.required {
	cursor: help;
}
#main label.required:after {
	content: " \002A";
	color: #D00;
}

/* Eingabefelder */

#main input[type=text],
#main input[type=url],
#main input[type=email],
#main input[type=file],
#main input[type=password] {
	font-size: 1em;
	font-family: "Average Sans", Arial, sans-serif;
	line-height: 28px;
	height: 28px;
	vertical-align: middle;
	border: 1px solid #ccc;
	padding: 0 4px;
	background-color: #fff;
	margin-bottom: 10px;
}
#main input[type=text]:focus,
#main input[type=url]:focus,
#main input[type=email]:focus,
#main input[type=file]:focus,
#main input[type=password]:focus {
	border: 1px solid #06a;
	box-shadow: inset 0 0 3px #ccc;
}
#main input.horizontal {
	margin-right: 0.5em;
}
#main input.vertical {
	float: left;
	margin: 0.25em 0.5em 0em 11em;
}
#main input.vertical + label {
	width: 25em;
}
#main input.check {
	float: left;
	margin-right: 1em;
}
#main input.error {
	border: 1px solid #C00;
}

/* Mehrzeilige Felder */

#main textarea {
	border: 1px solid #ccc;
	padding: 0.25em;
}
#main textarea:focus {
	border: 1px solid #06a;
	box-shadow: inset 0 0 3px #ccc;
}

/* Auswahllisten */

#main select {
	border: 1px solid #ccc;
	padding: 1px 2px;
	margin: 2px 0 0.5em;
}
#main select:focus {
	border: 1px solid #06a;
	box-shadow: inset 0 0 3px #ccc;
}
#main optgroup {
	font-style: normal;
	padding-bottom: 10px;
	padding-right: 5px;
	padding-left: 5px;
}



/* Visual */

#visual {
	width: 100%;
	min-width: 940px;
	height: 300px;
	overflow: hidden;
	background: #ccc url(../images/back/back_visual.png) repeat-x ;
	background: #FFF;
}
.start #visual {
	height: 380px;
	background: #ccc url(../images/back/back_visual-start.png) repeat-x ;
}


/* Infos über dem Visual */

#info {
	height: 100%;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-position: top center;
	background-image: url(../images/visual/visual_dummy-unterseite.jpg);
	background-repeat: no-repeat;

}
#info ul {
	width: 900px;
	padding: 20px 20px 0;
	margin: 10px auto 50px;
	zoom: 1;
}
.start #info ul {
	padding:25px 20px 5px;
	margin: 40px auto 50px;
	background: url(../images/back/back_overlay.png);
}
#info ul:before,
#info ul:after {
	content: "";
	display: table;
}
#info ul:after {
	clear: both;
}

#info li {
	list-style: none;
	float: left;
	width: 30%;
}


/* Fahrplanauskunft Widget */

#info #widget {
	width: 270px;
	margin-right: 70px;
	background: url(../images/back/back_overlay-unterseiten.png);
	padding: 5px 20px 0;
	box-shadow: 0 0 5px #666;
}
.start #info #widget {
	background: transparent;
	padding: 0 0 10px;
	box-shadow: none;
}

#widget h3 {
	font-weight: normal;
	color: #000;
}
#widget h3 span {
	color: #999;
	opacity: 0.5;
}
#widget h3.closed {
	background-image: url(../images/icon/icon_plusminus.gif);
	background-repeat: no-repeat;
	background-position: 255px 8px;
	cursor: pointer;
	margin-bottom: 6px;
}
#widget h3.closed.open {
	background-position: 255px -38px;
}
#widget fieldset {
	padding: 0;
}
#widget fieldset + fieldset {
	padding: 1em 0 2em;
}
#widget input,
#widget label {
	font-size: 13px !important;
	clear: left;
}
#widget input {
	width: 190px;
	margin-bottom: 10px;
}
*+html #widget input {
	clear: none;
	margin-bottom: 7px;
}
#widget input[type="radio"] {
	background-color: transparent;
	border: none;
	margin-bottom: 0;
}
#widget input[type="radio"] + label {
	margin: 3px 10px 0 0;
	display: inline-block;
}
#widget input.date {
	width: 64px;
	margin-bottom: 5px;
}
#widget input.horizontal {
	margin-right: 0.1em;
	width: 1em;
	display: inline-block;
}
#widget label.before {
	display: block;
	float: left;
	width: 50px;
	line-height: 2.3;
	display: inline-block;
}

#widget label.between {
	padding: 0 0 0 0.4em;
	line-height: 1;
	margin-top: -5px;
	display: inline-block;
}
#widget .button {
	padding-right: 10px;
}
#widget  button {
	float: right;
}


#location, #location_dfi {
	display: none;
	width: 2.1em;
	height: 2.1em;
	margin: -10px 0 0 5px;
	vertical-align: middle;
	background: #ec742b url(../images/back/back_location.gif) no-repeat center center;
}
#location.show, #location_dfi.show {
	display: inline-block;
}
#location.loading, #location_dfi.loading {
	background: #ec742b url(../images/back/back_location-loading.gif) no-repeat center center;
}

/* Einleitungstext Startseite */

#info #intro {
	width: 420px;
	max-height: 195px;
	margin-right: 80px;
	line-height: 22px;
	padding-bottom: 30px;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#intro p {
	margin-bottom: 0.5em;
}
#intro p.more {

}
#intro a {
	text-decoration: underline;
}
#intro a.more {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 139px;
	background-position: 0 0;
	text-decoration: none;
}
#intro a.more:hover,
#intro a.more:focus {
	background-position: 0 -40px;
}

/* Social Media Icons Startseite */

#info #network {
	width: 50px;
	padding-top: 10px;
}
#network a {
	display: block;
	background-image: url(../images/back/back_socialicons-sprite.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	width: 50px;
	height: 50px;
	text-indent: -555em;
	margin-bottom: 5px;
}
#network .twitter {
	background-position: 0 -55px;
}
#network .xing {
	background-position: 0 -109px;
}
#network .youtube {
	background-position: 0 -167px;
}


/* Slideshow */

#slideshow {
	width: 100%;
	position: relative;
	padding: 0 70px;
	margin-left: -70px;
	margin-bottom: 35px;
	background: url(../images/back/back_teaser.gif) no-repeat center center;
	clear: both;
}
#slideshow div.mask {
	width: 950px;
	overflow: hidden;
	position: relative;
	height: 270px;
}
#slideshow ul {
	width: 2000em;
	margin: 0;
	padding: 0;
	list-style: none;
	zoom: 1;
	position: absolute;
}
#slideshow ul:before,
#slideshow ul:after {
	content: "";
	display: table;
}
#slideshow ul:after {
	clear: both;
}

#slideshow ul li {
	display: block;
	float: left;
	width: 220px;
	height: 270px;
	margin: 0;
	padding: 0 20px 0 0 ;
	position: relative;
	overflow: hidden;
}
#slideshow img {
	border: 1px solid #ccc;
}
#slideshow p {
	margin-bottom: 0.5em;
}
#slideshow p.link {
	position: absolute;
	bottom: 0;
}

#slideshow ol {
	clear: left;
	height: 1em;
	margin: 0;
	padding: 1em 0;
	text-align: center;
}
#slideshow ol li {
	display: inline-block;
}
#slideshow ol li a {
	display: block;
	width: 1em;
	height: 1em;
	border-radius: 0.5em;
	background: #666;
	cursor: pointer;
	margin-right: 0.5em;
}
#slideshow ol li a:hover {
	background: #999;
}
#slideshow ol li a.current {
	background: #000;
}
#slideshow a.control {
	position: absolute;
	display: block;
	width: 26px;
	height: 37px;
	top: 45%;
	background-image: url(../images/back/back_slider-sprite.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	cursor: pointer;
}
#slideshow a.control:hover {
	background-position: 0 -50px;
}
#slideshow a.previous {
	left: 0;
}
#slideshow a.next {
	right: 0;
	background-position: -40px 0;
}
#slideshow a.next:hover {
	background-position: -40px -50px;
}





/* Wrapper */

#wrapper {
	clear: both;
	float: left;
	width: 640px;
	padding: 0;
}
#wrapper.full {
	width: 100%;
	float: none;
}


/* Breadcrumb */

#breadcrumb {
	font-size: 0.9em;
	margin-bottom: 2em;
	float: left;
}
.start #breadcrumb {
	margin-bottom: 0.5em,
}
#breadcrumb ul {
	margin: 0;
	padding: 0;
}
#breadcrumb li {
	padding: 0 10px 20px 20px;
	margin: 0;
	line-height: 15px;
	background-image: url(../images/back/back_breadcrumb.gif);
	background-repeat: no-repeat;
	background-position: 0 15px;
	display: inline-block;
	zoom: 1;
	*display: inline;
}
#breadcrumb li + li {
	background-position: -70px 15px;
}
#breadcrumb a {
	text-decoration: none;
	color: #000;
}
#breadcrumb a:hover {
	color: #06a;
	text-decoration: none;
}


/* Journal */

#journal {
	float: left;
	margin-bottom: 50px;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#journal h3 {
	color: #444;
}



/* Seitenleiste */

#sidebar {
	float: right;
	width: 220px;
	margin-right: -40px;
	margin-bottom: 30px;
	padding: 5px 50px 0;
	background: url(../images/back/back_aside.png) no-repeat center top;
}
#sidebar a.more {
	float: none;
	display: inline-block;
	margin-bottom: 2.5em;
}
#sidebar .bottom {
	width: 350px;
	margin-left: -65px;
	height: 90px;
	background: url(../images/back/back_aside-bottom.png) no-repeat center bottom ;
}
#sidebar h5 {
	font-size: 18px;
}

/* Teaserboxen */

#teaser {
	width: 100%;
	z-index: 1;
	padding: 0 70px;
	margin-left: -70px;
	margin-bottom: 50px;
	background: url(../images/back/back_teaser.gif) no-repeat center center;
}
#teaser:before,
#teaser:after {
	content: "";
	display: table;
}
#teaser:after {
	clear: both;
}
#teaser ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
	width: 110%;
}
#teaser ul:before,
#teaser ul:after {
	content: "";
	display: table;
}
#teaser ul:after {
	clear: both;
}


#teaser li {
	float: left;
	width: 220px;
	padding: 0 20px 0 0;
	height: 270px;
	overflow: hidden;
	position: relative;
}
#teaser li.first,
#teaser ul li:first-child  {
	width: 460px;
}
#teaser li p {
	margin-bottom: 0.5em;
}
#teaser li p.link {
	position: absolute;
	bottom: 0;
}

#teaser img {
	border: 1px solid #ccc;
}


/* Absatzformate */

#content p.author {
	float: left;
	padding-right: 10px;
	font-size: 0.9em;
	border-right: 1px solid #CCC;
	margin-right: 10px;
	line-height: 15px;
}
#content p.date {
	font-size: 0.9em;
	line-height: 15px;
}
#content p.lead {
	font-weight: bold;
	font-size: 1.1em;
	line-height: 20px;
}
#content cite {
	font-size: 0.9em;
	margin-bottom: 10px;
	font-style: normal;
}

#journal p.lead {
	font-weight: bold;
	color: #000;
}





/* Bestätigung */

#confirm {
	background: #EFE;
	border: 1px solid #6C0;
	padding: 1em;
	margin-bottom: 2em;
	color: #6C0;
}
#confirm p {
	font-weight: bold;
}


/* Fehlermeldung */

#error {
	padding: 10px;
	background: #FEE;
	border: 1px solid #C00;
	margin-bottom: 20px;
	color: #C00;
}
#error p {
	font-weight: bold;
}


/* Warnhinweis */

#warning {
	background: #FFD;
	border: 1px solid #D90;
	padding: 10px;
	margin-bottom: 20px;
}
#warning p {
	color: #D90;
	margin: 0px;
	font-weight: bold;
}



/* Social Plugins */

#social {
	padding: 0;
	float: right;
	height: 28px;
	padding-top: 5px;
	margin-right: -40px;
}
#social ul {
	margin:0;
	padding:0;
}
#social li {
	list-style: none;
	float: left;
	margin: 0;
	padding: 0;
}
#social li.like {
	width: 122px;
}
#social li.plusone {
	width: 80px;
}
#social li.tweet {
	width: 108px;
}
#social li.xing {

}

/* Vorschlagsliste Haltestellen */


#suggestion {
	position: absolute;
	z-index: 100;
	left: 11em;
	top: 3.2em;
	width: 15.1em;
	box-shadow: 0 3px 3px #000;
	display: none;
}

/* hack für draft, muss in der live-version via JS gelöst werden */
input:focus + a + #suggestion {
	display: block;
}
/* /hack */

#suggestion ul {
	margin: 0;
}
#suggestion li {
	list-style: none;
	background: #666;
	margin: 0;
}
#suggestion a {
	padding: 0.5em;
	display: block;
	color: #FFF;
	text-decoration: none;
	border-top: 1px solid #888;
}
#suggestion a:hover {
	color: #FFF;
	text-decoration: none;
	background: #E72;
}

/* Echtzeitauskunft */

/* Haltestellen Fahrplan */

#schedule {
	margin-bottom: 5em;
	padding: 0 0.5em;
	-moz-hyphens: auto;
}
#info #widget #schedule input, #info #widget #schedule label {
	font-size: 1em !important;
}
#info #widget #schedule table {
	width: 100%;
}
#info #widget #schedule form {
	padding-left: 0;
}
#info #widget #schedule fieldset {
	padding: 1em 0 2em;
}
#info #widget #schedule fieldset.information {
	padding-bottom: 0;
}
#info #widget #schedule label {
	display: block;
	width: 100%;
	float: none;
}

#results {
	padding: 0.5em 1em 1em;
	margin-top: 1em;
	background: #333;
	color: #FC0;
	box-shadow: inset 0 0 5px #000;
	border: 1px solid #000;
}
#results h2 {
	color: #FFF;
	font-size: 24px;
}
#results a,
#results a:hover {
	color: #FC0;
	text-decoration: none;
}
#results tbody tr:hover {
	background: #000;
}
#results tbody tr:nth-of-type(1):hover {
	background: none;
}
#results tbody td {
	font-size: 16px;
	padding: 0.25em 0.5em;
}
#results tbody th {
	border-left: 1px solid #FFF;
	padding-left: 0.5em;
	font-size: 15px;
	color: #FFF;
	font-weight: normal;
}
#results .departure {
	width: 40%;
}
#results .line {
	width: 9%;
}
#results .direction {
	-webkit-hyphens: none;
}



a.realtime {
	display: block;
	padding: 0.5em 0.5em 0.5em 1em;
	margin-bottom: 2em;
	border: solid 1px #16A;
	background-color: #16A;
	color: #FFF;
	text-shadow: 0 1px 0 rgba(0,0,0,0.3);

	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2), inset 0 1px rgba(255,255,255,0.6), inset 0 0 4px rgba(255,255,255,0.4);
	-moz-box-shadow: 0 1px 1px rgba(0,0,0,0.2), inset 0 1px rgba(255,255,255,0.6), inset 0 0 4px rgba(255,255,255,0.4);
	box-shadow: 0 1px 1px rgba(0,0,0,0.2), inset 0 1px rgba(255,255,255,0.6), inset 0 0 4px rgba(255,255,255,0.4);

	background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0));
	background-image: -moz-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0));
	background-image: -o-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0));
	background-image: -ms-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0));
	background-image: linear-gradient(to bottom, rgba(255,255,255,0.3), rgba(255,255,255,0));
}
a.realtime:hover {
	background: #38C;
	border-color: #38C;
	text-decoration: none;
}
a.realtime img {
	float: right;
	padding-right: 0.25em;
	margin-top: 2px;
}


/* Fußbereich */

#footer {
	clear: both;
	background: #27b url(../images/back/back_footer.gif) repeat-x;
	border-top: 1px solid #8bf;
	overflow: hidden;
	color: #fff;
	min-height: 260px;
	min-width: 960px;
}

#footer ul {
	width: 940px;
	margin: 30px auto 50px;
	overflow: visible;
	padding: 0;
}
#footer ul ul {
	width: auto;
	margin: 0;
}

#footer li {
	float: left;
	width: 220px;
	list-style: none;
	margin: 0 20px 0 0;
	padding: 0;
}
#footer li.last {
	margin:  0;
}
#footer li li {
	float: none;
	margin: 0;
}
#footer a {
	color: #bef;
	text-decoration: underline;
}
#footer a:hover {
	color: #fff;
}
#footer h3 {
	color: #fff;
}

#footer p {
	line-height: 20px;
}


/* Footer  Spalten */

#search {
	padding-right: 20px;
	margin: 0;
}
#search form {
	padding-bottom: 30px;
}
#search input {
	width: 145px;
	padding-left: 25px;
	border: 1px solid #4176a7;
	background: #fff url(../images/icon/icon_lupe.gif) no-repeat 7px 7px;
	box-shadow: 0 0 5px #025;
}
#search a {
	display: inline-block;
	width: 32px;
	height: 32px;
	text-indent: -555em;
	background-image: url(../images/back/back_socialicons-footer.png);
	background-repeat: no-repeat;
}
#search a.xing {
	background-position: -33px 0;
}
#search a.facebook {
	background-position: -67px 0;
}

#address {
	padding-right: 20px;
}

#address p {
	font-size: 14px;
	line-height: 1.2;
}

#extra {
	width: 220px;
}

#extra .right {
	float: right;
}



/*Fußzeile */

#footnote {
	padding-right: 20px;
}
#footnote ul {
	padding: 0;
	width: auto;
}
#footnote li {
	padding: 0;
	width: auto;
}


/* Typo3 Suchergebnisse */
#journal .tx-indexedsearch-whatis {
	font-size: 1.5em;
	color: #444;
}
#journal .tx-indexedsearch-sw {
	font-style: normal;
	font-weight: bold;
	color: #000;
}
#journal .tx-indexedsearch-browsebox {
	padding-bottom: 2em;
}
#journal .tx-indexedsearch-redMarkup {
	font-weight: bold;
	color: #E73;
}
#journal .tx-indexedsearch-res a {
	color: #000;
	text-decoration: none;
}
#journal .tx-indexedsearch-res a:hover,
#journal .tx-indexedsearch-res a:focus {
	text-decoration: underline;
}
#journal .tx-indexedsearch-res h2 a {
	color: #06A;
	text-decoration: underline;
}
#journal .tx-indexedsearch-res h2 a:hover,
#journal .tx-indexedsearch-res h2 a:focus {
	color: #000;
}

/* Version für mobile Endgeräte mit Auflösungen bis 480px */

@media only screen and (max-width: 480px) {

	body {
		font-size: 14px;
	}
	img {
		max-width: 100%;
	}

	.start h1,
	.start #intro h2 {
		padding: 0 1em;
	}
	#root {
		padding-bottom: 0;
	}
	#page {
		width: 320px;
		margin: 0 auto;
	}
	#header {
		width: 100%;
		height: 160px;
		background-image: url(../images/back) ;
		background-repeat: no-repeat;
		background-position: center top;
		background-color: #FFF;
		background-size: cover;
	}
	.start #header {
		background-position: 75% 0;
	}
	#title {
		width: 120px;
		padding: 0;
		margin-left: 1em;
		z-index: 200;
		background: #fff;
		float: none;
	}
	#service,  #status {
		display: none;
	}
	#nav {
		font-size: 15px;
		line-height: 3;
		padding:  0 0;
		margin: 0;
		float: none;
		position: static;
		top: 0;
		right: 0;
		width: 100% ;
		z-index: 1000 !important;
	}
	#nav label {
		display: block;
		background-color: rgba(255,255,255,0.9);
		background-image: url(../images/back/back_nav-mobile.png);
		background-repeat:  no-repeat;
		background-position:20px 19px;
		text-align: left;
		padding: 10px 25px 10px 40px;
		width: auto;
		position: absolute;
		right: 3.7em;
		top: 0;
		line-height: 30px;
		font-size: 18px;
	}
	#nav label.open {
		background-position: 20px -17px;
	}
	.jumptosearch {
		display: block;
		background: rgba(255,255,255,0.9) url(../images/icon/icon_lupe-mobile.gif) no-repeat center center;
		width: 3.6em;
		height: 3.6em;
		position: absolute;
		top: 0;
		right: 1em;
	}
	#nav input {
		display: none;
	}
	#nav  ul {
		display: none;
	}
	#nav input:checked + ul {
		display: block !important;
		height: auto;
		position: absolute !important;
		z-index: 999 !important;
		top: 160px;
	}
	#nav ul {
		margin: 0 !important;
		padding: 0 !important;
		height: auto !important;
		width: 320px;
		position: static !important;
		box-shadow: none !important;
		border: none !important;
	}
	#nav a.openclose {
		display: block;
		float: right;
		width: 2em;
		height: 3em;
		background-color: transparent !important;
		background-image: url(../images/back/back_openclose.png) !important;
		background-repeat: no-repeat !important;
		background-position: 30px 17px !important;
	}
	#nav a.openclose.open {
		background-position: 30px -113px !important;
	}
	#nav a.openclose + ul {
		display: none !important;
	}

	#nav a.openclose.open + ul {
		display: block !important;
	}

	#nav li {
		width:100% !important;
		float: none !important;
		position: static !important;
		margin: 0 !important;
		box-shadow: none !important;
		border: none !important;
		border-top: 1px solid #fff !important;
		display: block;
		background: #158;
	}
	#nav li:hover {
		border: none;
	}
	#nav li  {
		color: #05a !important;
	}
	#nav li li li  {
		background: #6af !important;
	}
	#nav li li li a {
		color: #000 !important;
	}
	#nav li li li li  {
		background: #bde !important;
	}
	#nav li ul {
		display: block !important;
		position: static !important;
		float: none !important;
	}
	#nav li a {
		box-shadow: none !important;
		background: transparent !important;
		margin: 0 !important;
		padding: 0 1em !important;
		text-transform: none;
		position: static !important;
		top: 0;
		color: #fff;
		display: inline-block;
		border: none;
	}
	#nav li a.current {
		color: #ccc;
	}
	#nav li a:hover,
	#nav li:hover a {
		margin: 0 !important;
		position: static;
		box-shadow: none !important;
		border: none;
	}
	#nav li a span {
		display: none !important;
	}

	#nav .megadropdown,
	#nav .megadropdown.wide  {
		background: #fff;
		margin: 0;
		padding: 0;
		border: none;
		box-shadow: none;
		width: 100% !important;
		height: auto;
		min-height: 0;
		font-size: inherit !important;
		visible: none ;
	}
	#nav .megadropdown .teaser {
		display: none !important;
	}
	#nav .megadropdown li {
		padding: 0;
	}

	#nav .megadropdown ul {
		visible: visible;
		float: none !important;
	}
	#nav .megadropdown ul.right {
	float: none !important;
	}
	#nav .megadropdown ul,
	#nav .megadropdown ul li,
	#nav .megadropdown ul ul {
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
	}


	#visual {
		width: 100%;
		min-width: 320px;
		background: transparent !important;
		height: auto !important;
	}
	#info {
		width: 100% !important;
		background: transparent !important;
		height: auto;
		border: none;
		margin: 0 !important;
	}
	#info ul {
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
	}
	#info ul li {
		width: 100% !important;
		float: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	#info #widget {
		margin: 0 !important;
		padding:  1em 0 0 !important;
		border-bottom: 2px solid #ccc;
	}
	#info #widget h3 {
		padding-left: 0.8em;
	}
	#info #widget h3.closed {
		padding-bottom: 0.5em;
		background-position: 100% -35%;
	}
	#info #widget h3.closed.open {
		background-position: 100% 160%;
		background-color: #fff;
	}
	#info #widget form {
		float: none;
		padding-left: 2em;
	}
	#info #widget button{
		float: none;
	}
	#info #widget label.before {
		width: 40px;
	}
	#location, #location_dfi {
		display: inline-block;
	}

	#info #intro {
		background: #fae9ca;
		height: auto !important;
		max-height: 100%;
		width: 100% !important;
		margin: 0 !important;
		padding: 2em 0 !important;
		overflow: visible;
	}
	#info #intro a.more {
		position: static;
	}
	#info #intro p {
		padding: 0 1em;
		height: auto !important;
		width: auto;
	}

	#info #network {
		width: 100%;
		padding: 2em 0 !important;
		text-align: center;
		border-bottom: 1px solid #ccc;
	}
	#info #network a {
		display: inline-block;
	}

	#main {
		width: 100%;
		padding: 0;
		margin: 0 ;
	}

	#main img.left,
	#main img.right {
		float: none;
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 10px;
	}

	#breadcrumb, #social {
		display: none;
	}


	#widget {
		width: 100% !important;
	}
	#wrapper {
		width: 100%;
	}
	#journal {
		padding: 1em 1em 2em;
		margin: 0 !important;
	}
	#journal iframe {
		width: 100% !important;
	}
	#journal img {
		max-width: 100%;
		height: auto;
	}
	#aside, #sidebar {
		display: none;
	}
	#slideshow,
	#slideshow ul,
	#slideshow .mask,
	#slideshow .mask ul,
	#slideshow .mask ul li
	 {
		width: 100% !important;
		height: auto !important;
		overflow: visible !important;
		margin: 0;
		padding: 0;
		float: none;
		background: transparent;
		position: static;
	}
	#slideshow a.control {
		display: none;
	}
	#teaser {
		width: 100% !important;
		background: transparent;
		margin: 0;
		padding: 1em 0 0;
	}
	#teaser ul {
		margin: 0;
		padding:  0;
		width: 100%;
	}
	#teaser li,
	#slideshow li {
		width: 100% !important;
		margin: 0;
		padding: 2em 0 !important;
		border-bottom: 1px solid #ccc;
		float: none;
		height: auto;
	}
	#teaser li *,
	#slideshow li * {
		margin: 0 1em;
	}
	#teaser li * *,
	#slideshow li * * {
		margin: 0;
	}
	#teaser li p,
	#slideshow li p {
		padding-bottom: 1em;
	}
	#teaser li img,
	#slideshow li img {
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		border: none;
	}
	#teaser li p.link,
	#slideshow li p.link {
		position: relative;
	}
	#list li {

	}

	/* Echtzeitauskunft */

	#results {
		margin: 0.5em 0;
	}

	#results .line {
		width: 15%;
	}
	#results td.line {
		padding-left: 0.6em;
	}
	#results .departure {
		width: 25%;
	}
	#suggestion {
		left: 0;
		top: 5em;
	}
	button.next {
		float: none;
	}

	.mobile {
		display: block;
	}
	.mobile p {
		margin-bottom: 0;
	}
	.mobile #schedule {
		margin-bottom: 0;
	}
	.mobile2 {
		display: block;
		margin: 1em 2em;
	}
	.desktop {
		display: none;
	}

	#footer {
		width: 100%;
		min-width: 100%;
		height: auto;
		font-size: 14px;
	}

	#footer ul,
	#footer li {
		width: 100%;
		float: none;
		margin: 0;
		padding:  0 0 2em;
		text-align: center;
	}
	#footer ul {

	}
	#footer ul ul {
		padding: 0;
		width: 100%;
	}

	#search {
		padding: 1em;
	}
	#search input {
		width: 98%;
		padding: 0.5em 0.25em;
		background: #fff;
	}

	#address {
		padding: 0;
	}
	#address p {
		font-size: 16px;
	}

	#footnote {
		padding: 0;
		margin: 0;
	}
	#footnote li {
		width: 100%;
		margin: 0 0 10px;
		padding: 0;
		float: none;
		border: none;
	}
	#footnote a {
		display: block;
		background: #158;
		font-size: 18px;
		padding: 0.5em 0;
		text-align: center;
		border-bottom: 1px solid #0b4478;
		color: #fff;
	}
	#extra {
		width: 100%;
	}
	#extra h3 {
		padding: 0 ;
		background: transparent;
	}
	#extra p {
		padding: 0 2em;
	}
	#extra .right {
		display: none;
	}

	/* Formularelemente */

	#main label.before {
		float: none;
	}



	/* Überschreiben Bildausrichtung Typo3-Bildelemente */

	#journal .csc-textpic-imagewrap {
		float: none;
		margin: 0;
	}
	#journal .csc-textpic-image {
		margin: 0 0 10px;
	}
	#journal .csc-textpic-text {
		margin: 0;
	}

	/* Tariftabelle */
	#main .tarife {
		display: block;
		position: relative;
		width: 300px;
	}
	#main .tarife thead {
		display: block;
		float: left;
	}
	#main .tarife tbody {
		display: block;
		width: auto;
		position: relative;
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	#main .tarife thead tr {
		display: block;
	}
	#main .tarife th {
		display: block;
	}
	#main .tarife tbody tr {
		display: inline-block;
		vertical-align: top;
	}
	#main .tarife td {
		display: block;
		min-height: 1.25em;
	}
	#main .tarife td, 
	#main .tarife th {
		text-align: left;
		padding-right:;
	}
	#main .tarife .td-0 {
		width: auto;
		text-align: left;
	}
	#main .tarife thead .td-0 {
		text-indent: -555em;
	}
	#main .tarife tbody .td-0 {
		font-weight: bold;
	}

}
