/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/open-sans-v15-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('../fonts/open-sans-v15-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v15-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v15-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v15-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v15-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../fonts/open-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v15-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v15-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('../fonts/open-sans-v15-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v15-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v15-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v15-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v15-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}

body {
    /* Location of the image */
    background-image: url(../images/bg.jpg);

    /* Background image is centered vertically and horizontally at all times */
    background-position: center center;

    /* Background image doesn't tile */
    background-repeat: no-repeat;

    /* Background image is fixed in the viewport so that it doesn't move when 
       the content's height is greater than the image's height */
    background-attachment: fixed;

    /* This is what makes the background image rescale based
       on the container's size */
    background-size: cover;

    /* Set a background color that will be displayed
       while the background image is loading */
    background-color: #464646;
    
}

p {
    line-height: 1.4;
}

.wrapper {
    width: 1200px;
    margin: 35px auto 0 auto;
}

footer {
    width: 100%;
    margin: 0 auto 20px auto;
}

.clearfix:after,
ul.sf-menu:after,
nav:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px;
}

h1,
h2, 
h3, 
h4 {
    font-family: "Open Sans";
    font-weight: 300;
    color: #000;
}

p {
    font-family: "Open Sans";
    font-weight: 400;
    color: #545454;
}

#left {
    background-color: rgba(255,255,255,0.4);
    width: 25%;
}

#right {
    width: 25%;
    background: #fff;
}

#middle {
    width: 50%;
    background: #fff;
}
    
#left, #middle, #right {
    display: table-cell;
    margin: 0;
    padding: 0;
}

div.wrapper.row {
    display: table;
    table-layout: fixed; 
    position: relative;
}

#logo {
    background: url(../images/bg_red.jpg) repeat;
    padding: 0;
    position: relative;
    width: 150%;
}

#logo > .moduletable {
    padding: 15px;
}

#logo h1 {
    margin: 0;
    color: #ccc;
    font-size: 32px;
}

#logo h2 {
    margin: 0px 0 0 147px;
    color: #fff;
    font-size: 24px;
}

#logo h1 span:last-child {
    margin-left: 145px;
    font-size: 28px;
}

.flexslider {
    border: 0px solid #fff;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -o-box-shadow: none;
    margin: 0;
}

.flex-control-nav {
    bottom: 0px;
}

.flex-control-paging li a {
    width: 11px;
    height: 11px;
    display: block;
    background: transparent;
    cursor: pointer;
    text-indent: -9999px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -o-border-radius: 0px;
    border-radius: 0px;
    box-shadow: none;
    border: 2px solid #fff;
}

.flex-control-paging li .flex-active {
    background: #bf0101;
    cursor: default;
}

nav select {
    display: none;
    visibility: hidden;
}

ul.sf-menu {
    background: url(../images/bg_red.jpg) repeat;
}

.sf-menu > li {
    float: left;
    position: relative;
    white-space: nowrap;
}

nav {
    width: 150%;
    position: relative;
}

.sf-menu a,
.sf-menu .separator {
    font-size: 15px;
    font-weight: bold;
    text-transform: uppercase;
    color: #fff;
    padding: 0px 14px;
    height: 48px;
    line-height: 48px;
}

.sf-menu .separator {
    font-weight: normal;
    color: #ccc;
    font-size: 14px;
    padding: 0 5px;
    text-transform: none;
}

li.item-113 {
    margin-left: 135px;
}

.sf-menu a:before {
    content: url(../images/square.png);
    margin-right: 5px;
}

nav >.moduletable {
    /*float: left;*/
}
nav {
}

img.pfeillinks {
    float: left;
    height: 100%;
   margin-left: -27px;
}

#content {
    margin: 15px 30px 15px 15px;
    padding-bottom: 15px;
}

#content h2 span:first-child {
    font-size: 25px;
    font-weight: 600;
}

.service #content h2 span:first-child {
    font-size: 20px;
    font-weight: 600;
}

.anreise #content h2 span:first-child {
    font-size: 20px;
    font-weight: 400;
}
.anreise #content h3 span:first-child {
    font-size: 20px;
    font-weight: 400;
}

.kontakt #content h2 span {
    font-size: 20px;
    font-weight: 400;
}

.blog .leading-0 h1 {
    font-size: 25px;
    font-weight: bold;
    color: #666666;
    display: inline-block;
    margin-right: 5px;
}

h1 {
    font-size: 20px;
    font-weight: normal;
    color: #666666;
    display: inline-block;
    margin-right: 5px;
}

.blog .leading-0 h2 {
    font-size: 25px;
    font-weight: bold;
    color: #be0000;
    display: inline-block;
}

h2 {
    font-size: 20px;
    font-weight: normal;
    color: #be0000;
    display: inline-block;
}

.blog .leading-0 p {
    font-size: 18px;
    font-weight: normal;
    color: #404040;
}

.blog .items-row h3 {
    font-size: 20px;
    font-weight: normal;
    color: #bd0000;
    border-top: 1px solid #bd0000;
    margin-top: 20px;
    padding-top: 5px;
}

.readmore .btn {
    display: inline-block;
    padding: 0;
    margin-bottom: 0;
    font-size: 13px;
    line-height: 20px;
    color: #bd0000;
    text-align: center;
    text-shadow: none;
    vertical-align: middle;
    cursor: pointer;
    background-color: transparent;
    background-image: none;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
    background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
    background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
    background-image: none;
    background-repeat: repeat-x;
    border: 0px solid #cccccc;
    border-color: #bd0000;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    border-bottom-color: #b3b3b3;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    -webkit-box-shadow: none;
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: none;
    font-weight: normal;
}

.readmore .btn:hover {
    color: #000;
}

.readmore [class^="icon-"], .readmore [class*=" icon-"] {
    display: inline-block;
    width: 0px;
    height: 0px;
    margin-top: 0px;
    line-height: 0px;
    vertical-align: text-top;
    background-image: none;
    background-position: 14px 14px;
    background-repeat: no-repeat;
}

.moduletable.hotline {
    position: relative;
    margin: 0 30px 0 40px;
    height: 4px;
}

.hotline p {
    color: #d3d3d3;
    font-size: 16px;
    margin-bottom: 0;
}

.moduletable.perfekt {
    position: relative;
    padding: 30px 30px 19px 40px; 
    background: #fff;
    margin-top: 36px;
    min-height: 241px;
}

a {
    color: #be0000;
}
.moduletable.schnellform {
    padding: 10px 30px 30px 40px; 
    margin-top: 50px;
    background: url(../images/bg-grau.jpg) repeat;
}

.bfQuickMode .bfLabelLeft label {
    width: 90%;
    float: none;
    margin: 0px 10px 0px 0px;
}

.bfQuickMode p input[type='text'], .bfQuickMode p textarea, .bfQuickMode p select {
    float: none;
    margin: 0px;
    width: 90%;
    border-radius: 0px;
    -webkit-border-radius: 0px;
}

.bfQuickMode p.bfElemWrap {
    padding: 5px 0 5px 0px;
    margin: 0px 0px 0px 0px;
    position: relative;
    overflow: hidden;
}

.bfQuickMode .bfLabelLeft input, .bfQuickMode .bfLabelLeft textarea, .bfQuickMode .bfLabelLeft select, .bfQuickMode .bfLabelLeft button {
     width: 90%; 
    float: none;
    margin: 0px;
}

.bfQuickMode .bfNextButton, .bfQuickMode .bfSubmitButton, .bfQuickMode .bfCancelButton {
    float: none;
}

textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input {
    background-color: #cccccc;
    border: 1px solid #ffffff;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
    -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
    -o-transition: border linear 0.2s, box-shadow linear 0.2s;
    transition: border linear 0.2s, box-shadow linear 0.2s;
}

footer {
    background-color: #bcbcbc;
}

footer {
    line-height: 40px;
}

footer .copy {
    padding-left: 20px;
    float: left;
    width: 25%;
}

footer .imprint {
    float: left;
}

footer a {
    color: #000;
}


#hinweis {
    position: absolute;
    z-index: 1;
    width: 1000px;
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    left: 402px;
    top: 348px;
}

.ie #hinweis {
    display: none;
    visibility: hidden;
}

.triangle-bottom:after,
.blueway:after,
#content:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px;
}

.triangle-top {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 22.5px 0 22.5px 25px;
    border-color: transparent transparent transparent #2073db;
    float: left;
}

.blueway {
    height: 45px;
    background-color: #2073db;
    float: left;
}

.blueway .von {
    float: right;
    padding-right: 20px;
    color: #fff; font-weight: bold;
    font-size: 20px;
    line-height: 45px;
    margin-left: 70px;
    width: 325px;
    text-align: right;

}

.blueway .bis {
    float: left;
    padding-left: 20px;
    color: #fff; font-weight: bold;
    font-size: 20px;
    line-height: 45px;
    margin-right: 170px; 
}

.triangle-bottom {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 22.5px 25px 22.5px 0;
    border-color: transparent #2073db transparent transparent;
    float: left;
}

.train {
    width: 76px;
    height: 76px;
    border-radius: 42px;
    background-color: #428d00;
    border: 5px solid #fff;
    color: #fff;
    line-height: 76px;
    text-align: center;
    font-weight: bold;
    font-size: 40px;
    -webkit-box-shadow: -3px 3px 7px 0 rgba(0,0,0,0.2);
    box-shadow: -3px 3px 7px 0 rgba(0,0,0,0.2);
    position: relative;
    margin: -20px auto 0 auto;
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.train .nummer {
    position: absolute;
    z-index: 5;
    width: 100%;
}

.moduletable.big1 .big1 {
    position: absolute;
    top: 50px;
    left: 20px;
}

ul.sub-menu {
    background: url(../images/bg_red.jpg) repeat;
    padding: 0 0 10px 0;
}

ul.sub-menu a {
    height: 25px;
    line-height: 25px;
    font-size: 14px;
    font-weight: normal;
}

.spalte54 {
    width: 54%;
    float: left;
    margin-right: 15px;
}

.spalte43 {
    width: 40%;
    float: left;
    margin-right: 15px;
}

.spalte50 {
    width: 46%;
    float: left;
    margin-right: 15px;
}
.spalte60 {
    width: 55%;
    float: left;
    margin-right: 15px;
}

.spalte40 {
    width: 40%;
    float: left;
}

.spalte40 h4 {
    padding-top: 10px;
    padding-bottom: 9px;
}

.square, .square li {
    list-style: none;
    padding: 0;
    margin: 0;
}

.square {
    margin-bottom: 15px;
}

.square li:before {
    content: url(../images/square.jpg);
    margin-right: 8px;
}

.bfQuickMode .bfLabelLeft .bfElementGroup, .bfQuickMode .bfLabelRight .bfElementGroup, .bfQuickMode p.bfLabelLeft .bfElementGroupNoWrap {
    width: 70%;
    float: left;
}

.kontakt .item-page input[type="text"], .kontakt .item-page .bfQuickMode textarea {
    background-color: #fff;
    border: 1px solid #be0000;
}

.kontakt .item-page .bfSubmitButton {
    color: #fff;
    background-color: #be0000;
    border: 1px solid #be0000;
    margin-top: 15px;
}

.kontakt .item-page .bfCancelButton {
    color: #be0000;
    background-color: #fff;
    border: 1px solid #be0000;
    margin-top: 15px;
}

.custom.karte {
    padding: 30px 20px 50px 50px;
    margin-top: 30px;
    
}

.border {
    border: 1px solid #fff;
}
.border td {
    padding: 5px 5px 0 5px; 
}

#right {
    background: url(../images/bg-grau.jpg) repeat;
}

div.custom.hotline p {
  color: #be0000;
}

.sf-menu .item-155 .separator {

}


#logo h2, #logo h1 {
    float: none;
    width: 100%
}


.schnellform .bfSubmitButton {
    background: none #cccccc;
    color: #333;
    border: 1px solid #fff;
    padding: 5px 20px;
}

.schnellform .bfSubmitButton:hover {
    background-color: #fff;
}

.wenigerp p {
    margin: 5px 0;
}

#bfLabel10 {
    float: left !important;
    width: 11%;
}

.kontakt .articleBody h1, .kontakt .articleBody h2 {
    margin-bottom: 0;
    line-height: 30px;
}

#ff_elem10 {
    border: 1px solid #be0000;
}


.impressum #content {
    padding-top: 15px;
}

.impressum #content p {
    margin: 4px 0;
}