/* --- IMPORT VON RTE-STYLES  --------------------------------------- */
@import url(rte.css);

/*  --- MEDIA -----------------------------------------------------  */

/*
@media only screen and (max-width: 1023px) and (min-width: 768px) {
}
@media only screen and (max-width: 767px) and (min-width: 480px) {  
}
@media only screen and (max-width: 480px) {
}
*/

/*  --- SITE ------------------------------------------------------  */

html,
body {
   height: 100%;
}

BODY {
  background-color: #fff;
  margin: 0;
  padding: 0;
}

body > div.cc-window {
  z-index: 900000;
}

#site {
  position: relative;
  min-height: 100%;
}

.clearfix:after {
  content: ".";
  clear: both;
  height: 0;
  visibility: hidden;
  display: block;
  position: absolute;
}

.clear {
  clear: both;
}

.box {
  float: left;
  clear: both;
  width: 100%;
}

.box-content {
  margin: 0px auto;
  width: 1020px;
  padding: 0 10px;
}

@media (max-width: 1280px) {
  .box-content {
    width: 95%;
    padding: 0 2.5%;
  }  
}

/* --- SIZE ------------------------------------------------------- */

@media only screen and (max-width: 1023px) {
  html {   
    font-size: 17px;
  }
}

@media only screen and (max-width: 767px) {  
  html {   
    font-size: 16px;
  }
}

@media only screen and (max-width: 480px) {  
  html {   
    font-size: 14px;
  }
}


/*  --- STICKY ----------------------------------------------------  */
#sticky {
}

#sticky.sticked {
  padding-bottom: 46px;
}

@media (max-width: 767px) {
  #sticky.sticked {
    padding-bottom: 0;
  }
}

/*  --- HEADER ----------------------------------------------------  */
#header-box {
  border-top: 10px solid #d1d1d1;
}

#header-content {
}

#logo {
  float: left;
  padding: 5px 0;
  max-width: 250px;
}  

#logo img {
  width: 100%;
  height: auto;
}

#slogan {
  float: left;
  font-size: 1.2rem;
  font-weight: 400;
  padding: 20px 0 0 30px;
}

#search-box {
}

#search {
  float: right;
  vertical-align: bottom;
  padding: 0 10px;
  margin: 12px 0 0 0;
}
#search form {
  border: 1px solid #eaeaea;
  display: inline-block;
  padding: 2px 10px;
}

#search input {
  font-size: 0.9rem;
  color: #999999;
  text-align: left;
  font-style: italic;
  border: none;
  width: 200px;
  padding: 5px 0;
}

#search a {
  margin: 0 0 0 5px;
}

#search a img {
  vertical-align: middle;
}

/*
@media (max-width: 900px) {
  #slogan {
    font-size: 1.4rem;
  }  
}

@media (max-width: 800px) {
  #slogan {
    font-size: 1.2rem;
  }  
}
*/

@media (max-width: 900px) {
  #header-box {
    height: auto;
  }  
  #logo {
    max-width: 300px;
  }  
  #slogan {
    display: none;
  }  
}

@media (max-width: 600px) {
  #header-content > div {
    width: 100%;
    text-align: center;
  }

  #logo {
    max-width: unset;
  }  
  #logo img {
    width: 80%;
  }
  
  #slogan {
    padding: 20px 0;
  }

  #search {
    width: 100%;    
    text-align: center;
    margin: 20px 0;
    padding: 0;
  }
  
  #search form {
    width: 60%;
  }
  
  #search form input {
    width: calc(100% - 30px);
  }  
}

/*  --- HEADERIMAGE -----------------------------------------------  */
#headerimage-box {
}

#headerimage-content {
  overflow: hidden;
  position: relative;
  height: 300px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

#headerimage-content img {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (max-width: 840px) {
  #headerimage-content {
    height: 250px;
  }
}  

@media (max-width: 767px) {
  #headerimage-content {
    height: 200px;
  }
}  

@media (max-width: 480px) {
  #headerimage-content {
    height: 150px;
  }
}  

@media (max-width: 320px) {
  #headerimage-content {
    background-image: none !important;
    height: auto;
    position: relative;
  }
  #headerimage-content img {
    position: relative;
  }  
}

/*  --- NAVI ------------------------------------------------------  */

#navi-box {
  background-color: #73004d;
  z-index: 2001000;
}

#navi-box.sticked {
  position: fixed;
}

#navi-content {
}

#navi {
  float: left;
  clear: both;
  padding: 0;
  width: 100%;
}

#navi, #navi * {
  text-decoration: none;
  font-size: 1rem;
  color: #fff;
}


#navi ul,
#navi ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}

#navi ul {
  position: relative;
  z-index: 200597;
  text-align: justify;
  padding: 0;
}

#navi ul li {
  vertical-align: middle;
  zoom: 1;
  margin: 0;
  display: inline-block;
  padding: 5px 0.75rem;
}

#navi > ul > li:hover {
  position: relative;
  z-index: 200599;
  cursor: default;
  background-color: #510036;
}

#navi ul li.act {
  position: relative;
  z-index: 599;
  cursor: default;
  background-color: #510036;
}

#navi ul li a {
  text-transform: uppercase;
  padding: 0;
  display: block;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0.05rem;
}

#navi ul li:hover {
  position: relative;
}

#navi ul li:hover a {
  color: #fff;
}

#navi ul li.act a {
  color: #fff;
}


#navi ul li.act ul li.act a,
#navi ul li.act ul li.act ul li.act a {
}

#navi ul li.act ul li a,
#navi ul li.act ul li.act ul li a {
}

#navi ul li ul li a {
  text-transform: none;
}

#navi ul li ul {
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: -1px;
  z-index: 200598;
  text-align: justify;
  width: auto;
  background-color: #f2f2f2;
  border-left: 1px solid #73004d;
  border-right: 1px solid #73004d;
  border-bottom: 1px solid #73004d;
  padding: 0;
}

#navi ul li:hover > ul {
  visibility: visible;
}

#navi ul li ul li {
  clear: both;
  float: left;
  width: 100%;
  padding: 0;
}

#navi ul li ul li.act,
#navi ul li ul li:hover {
  background-color: #510036;
}

#navi ul li ul li a {
  font-size: 0.9rem;
  height: auto;
  display: block;
  margin: 0;
  text-decoration: none;
  white-space: nowrap;
  text-align: left;
  color: #666666;
  padding: 0 10px;
}

#navi ul li.act ul li a,
#navi ul li:hover ul li a {
  color: #666666;
}

#navi ul li ul li.act a,
#navi ul li ul li:hover a {
  color: #fff;
}

#navi ul li ul li ul {
  border-top: 1px solid #007580;
  top: -1px;
  left: 100%;
  padding: 0;
}

#navi ul li ul li ul li,
#navi ul li ul li.act ul li,
#navi ul li ul li:hover ul li {
}

#navi ul li ul li ul li a,
#navi ul li ul li.act ul li a,
#navi ul li ul li:hover ul li a {
  padding: 0 10px;
  color: #666666;
}

#navi ul li ul li ul li.act a,
#navi ul li ul li ul li:hover a {
  color: #fff;
}


#navi > ul > li:nth-last-child(1) > ul {
  left: auto;
  margin-right: calc(-100% - 1px);
  right: 100%;
}

#navi > ul > li:nth-last-child(1) > ul > li > ul,
#navi > ul > li:nth-last-child(2) > ul > li > ul,
#navi > ul > li:nth-last-child(3) > ul > li > ul {
  left: auto;
  margin-left: 0;
  right: 100%;
  margin-right: 0;
}

/*
@media (min-width: 767px) {
  #navi-box.sticked {
    position: fixed;
  }
}
*/

@media (max-width: 767px) {
  #navi-box {
    display: none;
  }
  
  #navi ul li ul {
    position: initial;  
  }  
}

/* --- NAVI MOBILE TOP ------------------------------------------- */
#navimobile-box {
  padding: 0;
  display: none;
}


@media (max-width: 767px) {
  #navimobile-box {
    display: block !important;
  }
}

#navimobile-content {
  padding: 0;
  width: 100%;
}

/*+++
#navimobile {
  display: none;
}
*/

#navimobile.show {
  display: block;
}

#navimobile.hide {
  display: none;
}


/* --- NAVI MOBILE ----------------------------------------------- */

 
nav#navimobile,
nav#navimobile * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

nav#navimobile {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  width: 100%;
}

#navimobile.nav-collapse {
  visibility: hidden;
}
#navimobile.nav-collapse.opened {
  visibility: visible;
}

/* Enable active class to let the navigation expand over the calculated max height. */
#navimobile.nav-collapse.multiple-level-nav.opened.dropdown-active {
  max-height: 9999px !important;
}

#navimobile.nav-collapse.multiple-level-nav .sub-menu {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: none; /* This way you don't have focus on sub menu items unless you open the sub menu. */
  overflow: hidden;
  zoom: 1;
}

#navimobile.nav-collapse.multiple-level-nav .sub-menu.toggled {
  display: block;
  max-height: 9999px;
  position: relative;
}

#navimobile ul {
  list-style: none;
  float: left;
  width: 100%;
  padding: 0;
  background-color: #fff;
}

#navimobile ul li {
  padding: 0;
  margin: 0;
  position: relative;
  float: left;
  width: 100%;
  display: block;
}

#navimobile ul li a {
  float: left;
  width: 100%;
  padding: 0.9em 1.1em;
  text-decoration: none;
}


#navimobile ul li,
#navimobile ul li a {
  font-style: normal;
  color: #666666;
  font-weight: 400;
}

#navimobile button {
  background-color: transparent;
  -webkit-appearance: button;
  cursor: pointer;
  color: #007580;
}

#navimobile button.dropdown-toggle {
  border: 1px solid #73004d;
  content: "";
  height: 30px;
  width: 30px;
  padding: 0;
  position: absolute;
  margin: 0;
  text-transform: lowercase;
  top: 10px;
  right: 4%;
}

#navimobile button.dropdown-toggle:hover,
#navimobile button.dropdown-toggle:active,
#navimobile button.dropdown-toggle.toggled  {
  background-color: #73004d;
  color: #fff;  
}

#navimobile button.dropdown-toggle:after {
  content: "+";
  font-size: 20px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  text-align: center;
  color: #73004d;
}

#navimobile button.dropdown-toggle:hover:after,
#navimobile button.dropdown-toggle:active:after,
#navimobile button.dropdown-toggle.toggled:after  {
  color: #fff;  
}

#navimobile button.dropdown-toggle.toggled:after {
  content: "-";
}

#navimobile button span.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

#navimobile > ul {
  border-bottom: 1px solid #73004d;
}  

#navimobile > ul > li {
  border-top: 1px solid #73004d;
}

#navimobile > ul > li > a {
  text-transform: uppercase;
  text-decoration: none;
  width: 100%;
  text-align: left;
  display: block;
  padding: 10px 0;
  margin-left: 20px;
}

#navimobile > ul > li.act {
}

#navimobile > ul > li.act > a {
  color: #73004d;
}

#navimobile > ul > li > ul {
}

#navimobile > ul > li > ul > li {
  border-top: 1px solid #73004d;
}

#navimobile > ul > li > ul > li,
#navimobile > ul > li > ul > li > a {
  color: #666666;
  text-transform: unset;
}  

#navimobile > ul > li > ul > li > a {
  text-decoration: none;
  width: 100%;
  text-align: left;
  display: block;
  padding: 10px 0;
  margin-left: 40px;
}

#navimobile > ul > li > ul > li.act > a {
  color: #73004d;
}

#navimobile > ul > li > ul > li > ul {
}

#navimobile > ul > li > ul > li > ul > li {
  border-top: 1px solid #73004d;
}

#navimobile > ul > li > ul > li > ul > li > a {
  text-decoration: none;
  width: 100%;
  text-align: left;
  display: block;
  padding: 10px 0;
  margin-left: 60px;
}

#navimobile > ul > li > ul > li > ul > li.act {
}

#navimobile > ul > li > ul > li > ul > li.act > a {
  color: #73004d;
}

/* --- NAVI-TOGGLER TOP ------------------------------------------- */
#navimobile-toggler {
  display: none;
  width: 100%;
  float: left;
  padding: 0;
  background-color: #76004d;
}


#navimobile-toggler > a,
#navimobile-toggler > button {
  text-decoration: none;
  width: 50px;
  display: block;
  padding: 10px 0;
  margin: 0 0 0 5px;
  font-style: normal;
  border: none;
  background-color: transparent;
  -webkit-appearance: button;
  cursor: pointer;
}

#navimobile-toggler > a span,
#navimobile-toggler > button span {
  background: none repeat scroll 0 0 #fff;
  display: block;
  height: 4px;
  margin: 5px;
}

@media only screen and (max-width: 767px) {
  #navimobile-toggler {
    display: block;
  }
}


/*  --- BREADCRUMB ------------------------------------------------  */
#breadcrumb {
  padding: 10px 0 0 0;
  margin-left: -5px;
}

#breadcrumb,
#breadcrumb a {
  text-decoration: none;
  font-size: 0.9rem;
  color: #999999;
  text-align: left;
}

#breadcrumb a {
  padding: 0 5px;
}

@media (max-width: 320px) {
  #breadcrumb {
    display: none;
  }
}


/*  --- FOOTER ----------------------------------------------------  */
#footer-box {
  background-color: #4b4b4b;
  padding: 1rem 0 3rem;
  border-top: 1px solid white;
}

#footer-content {
  position: relative;
}  

#footer-navi {
  float: left;
  margin-right: 55px;
}

#footer-navi ul {
  list-style: none;
  padding: 0;
  margin: 0;
  line-height: 100%;
}

#footer-navi ul li {
  float: left;
  margin: 0;
  padding: 0 1.5rem 1rem 0;
  line-height: 100%;
}

#footer-navi ul li,
#footer-navi ul li a {
  font-size: 1rem;
  color: #dadada;
  line-height: 150%;
  text-align: left;
  text-decoration: none;
}

#footer-gotop {
  position: absolute;
  top: 0;
  right: 2%;
}

@media only screen and (max-width: 800px) {  
  #footer-navi ul li,
  #footer-navi ul li a {
    font-size: 0.8rem;
  }  
}

@media only screen and (max-width: 600px) {  
  #footer-navi ul li {
    width: 100%;
    padding: 0 0 20px 0;
  }

  #footer-navi ul li,
  #footer-navi ul li a {
    font-size: 1rem;
  }  
}

/* --- CONTENT --------------------------------------------------- */
#content-content {
}

#content {
  float: left;
  width: 100%;
  padding: 30px 0 0 0;
}

#content * {
}

#content > div {
  float: left;
  width: 100%;
}

#content ul,
#content * ul {
  line-height: 200%;
}

#content .csc-textpic-caption,
#content .csc-textpic-caption a {
}

#content div.table-overflow {
  overflow-y: auto;
}

#content div.ce-media img {
}

#content div.ce-gallery figure.image img {
}

#content figcaption {
  font-size: 0.8rem;
  margin-top: 5px;
}

/* --- CONTENT / ITMES ------------------------------------------- */
#content {
}

#content > div.content-item-white {
  background-color: #fff;
}

#content > div.content-item-lightgrey {
  background-color: #f2f2f2;
}

#content > div.content-item-spaceNone {
  padding: 0;
}

#content > div.content-item-spaceBefore {
  padding-top: 55px;
}

#content > div.content-item-spaceAfter {
  padding-bottom: 55px;
}

#content > div.content-item-spaceBoth {
  padding-top: 55px;
  padding-bottom: 55px;
}


@media only screen and (max-width: 767px) {  
}



/* --- CONTENT-IMAGES / DEFAULT ---------------------------------- */
#content .ce-intext.ce-right .ce-gallery {
  margin-left: 5%;
}

#content .ce-intext.ce-left .ce-gallery {
  margin-right: 5%;
}

/* --- CONTENT-IMAGES / IMAGESCOLS-1 / BILDER OBEN/UNTEN --------- */
div.ce-textpic.ce-above div.ce-gallery[data-ce-columns="1"],
div.ce-textpic.ce-below div.ce-gallery[data-ce-columns="1"],
div.ce-textpic.ce-above div.ce-gallery[data-ce-columns="1"] div.ce-row,
div.ce-textpic.ce-below div.ce-gallery[data-ce-columns="1"] div.ce-row,
div.ce-textpic.ce-above div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column,
div.ce-textpic.ce-below div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column {
  width: 100%;
}

div.ce-textpic.ce-above div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column div.ce-media img,
div.ce-textpic.ce-above div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column figure img,
div.ce-textpic.ce-below div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column div.ce-media img,
div.ce-textpic.ce-below div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column figure img {
  max-width: 100% !important;
  height: auto !important;
}

div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="1"] {
  width: 49%;
}

div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="1"] div.ce-row,
div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column {
  width: 100%;
}

div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column div.ce-media img,
div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="1"] div.ce-row div.ce-column figure img {
  width: 100% !important;
  height: auto !important;
}

@media only screen and (max-width: 480px) {  
  div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="1"] {
    width: 100%;
  }
/*
  div.ce-textpic.ce-intext div.ce-bodytext {
    float: left;
  }
*/  
}

/* --- CONTENT-IMAGES / IMAGESCOLS-2 / BILDER OBEN/UNTEN --------- */
div.ce-textpic.ce-above div.ce-gallery[data-ce-columns="2"],
div.ce-textpic.ce-below div.ce-gallery[data-ce-columns="2"] {
}

div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="2"] {
  width: 49%;
}

div div.ce-gallery[data-ce-columns="2"] div.ce-row,
div div.ce-gallery[data-ce-columns="2"] div.ce-row,
div div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column,
div div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column {
  width: 100%;
}

div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column,
div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column {
  margin-right: 2%;
  width: 49%;
}

div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column:nth-child(2n+0),
div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column:nth-child(2n+0) {
  margin-right: 0;
}

div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column div.ce-media img,
div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column figure img,
div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column div.ce-media img,
div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column figure img {
  max-width: 100% !important;
  height: auto !important;
}

@media only screen and (max-width: 600px) {  
  div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column,
  div.ce-textpic div.ce-gallery[data-ce-columns="2"] div.ce-row div.ce-column {
    margin-right: 0;
    width: 100%;
    margin-bottom: 10px;
  }
}

/* --- CONTENT-IMAGES / IMAGESCOLS-4 / BILDER OBEN/UNTEN --------- */
div.ce-textpic.ce-above div.ce-gallery[data-ce-columns="4"],
div.ce-textpic.ce-below div.ce-gallery[data-ce-columns="4"] {
}

div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="4"] {
  width: 23.5%;
}

div div.ce-gallery[data-ce-columns="4"] div.ce-row,
div div.ce-gallery[data-ce-columns="4"] div.ce-row,
div div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column,
div div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column {
  width: 100%;
}

div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column,
div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column {
  margin-right: 2%;
  width: 23.5%;
}

div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column:nth-child(4n+0),
div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column:nth-child(4n+0) {
  margin-right: 0;
}

div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column div.ce-media img,
div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column figure img,
div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column div.ce-media img,
div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column figure img {
  max-width: 100% !important;
  height: auto !important;
}

@media only screen and (max-width: 800px) {  
  div.ce-textpic.ce-intext div.ce-gallery[data-ce-columns="4"] {
    width: 100%;
  }

  div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column,
  div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 10px;
  }

  div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column:nth-child(2n+0),
  div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column:nth-child(2n+0) {
    margin-right: 0;
  }
}

@media only screen and (max-width: 600px) {  
  div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column,
  div.ce-textpic div.ce-gallery[data-ce-columns="4"] div.ce-row div.ce-column {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
}



/* --- CONTENT / 1-COL ------------------------------------------- */
#content div.cols1 {
  float: left;
  width: 100%;
}

#content div.cols1 div.cols1-col {
  width: 100%;
}

/* --- CONTENT / 2-COL / 50/50 ----------------------------------- */
#content div.cols2-5050 {
  float: left;
  width: 100%;
}

#content div.cols2-5050 div.cols2-5050-col {
  width: 49%;
  float: left;
}

#content div.cols2-5050 div.cols2-5050-col1 {
  margin-right: 2%;
}

#content div.cols2-5050 div.cols2-5050-col2 {
}

@media (max-width: 600px) {
  #content div.cols2-5050 div.cols2-5050-col {
    width: 100%;
  }
  #content div.cols2-5050 div.cols2-5050-col1 {
    margin-right: 0;
  }
}

/* --- CONTENT / 2-COL / 33/66 ----------------------------------- */
#content div.cols2-3366 {
  float: left;
  width: 100%;
}

#content div.cols2-3366 div.cols2-3366-col {
  float: left;
}

#content div.cols2-3366 div.cols2-3366-col1 {
  width: 33%;
  margin-right: 2%;
}

#content div.cols2-3366 div.cols2-3366-col2 {
  width: 65%;
}

@media (max-width: 800px) {
  #content div.cols2-3366 div.cols2-3366-col1 {
    width: 49%;
  }

  #content div.cols2-3366 div.cols2-3366-col2 {
    width: 49%;
  }
}

@media (max-width: 600px) {
  #content div.cols2-3366 div.cols2-3366-col1,
  #content div.cols2-3366 div.cols2-3366-col2 {
    margin-right: 0;
    width: 100%;
  }
}

/* --- CONTENT / 2-COL / 66/33 ----------------------------------- */
#content div.cols2-6633 {
  float: left;
  width: 100%;
}

#content div.cols2-6633 div.cols2-6633-col {
  float: left;
}

#content div.cols2-6633 div.cols2-6633-col1 {
  width: 65%;
  margin-right: 2%;
}

#content div.cols2-6633 div.cols2-6633-col2 {
  width: 33%;
}

@media (max-width: 800px) {
  #content div.cols2-6633 div.cols2-6633-col1 {
    width: 49%;
  }

  #content div.cols2-6633 div.cols2-6633-col2 {
    width: 49%;
  }
}

@media (max-width: 600px) {
  #content div.cols2-6633 div.cols2-6633-col1,
  #content div.cols2-6633 div.cols2-6633-col2 {
    margin-right: 0;
    width: 100%;
  }
}

/* --- CONTENT / 2-COL / 25/75 ----------------------------------- */
#content div.cols2-2575 {
  float: left;
  width: 100%;
}

#content div.cols2-2575 div.cols2-2575-col {
  float: left;
}

#content div.cols2-2575 div.cols2-2575-col1 {
  width: 24%;
  margin-right: 2%;
}

#content div.cols2-2575 div.cols2-2575-col2 {
  width: 74%;
}

@media (max-width: 800px) {
  #content div.cols2-2575 div.cols2-2575-col1 {
    width: 49%;
  }

  #content div.cols2-2575 div.cols2-2575-col2 {
    width: 49%;
  }
}

@media (max-width: 600px) {
  #content div.cols2-2575 div.cols2-2575-col1,
  #content div.cols2-2575 div.cols2-2575-col2 {
    margin-right: 0;
    width: 100%;
  }
}

/* --- CONTENT / 2-COL / 75/25 ----------------------------------- */
#content div.cols2-7525 {
  float: left;
  width: 100%;
}

#content div.cols2-7525 div.cols2-7525-col {
  float: left;
}

#content div.cols2-7525 div.cols2-7525-col1 {
  width: 74%;
  margin-right: 2%;
}

#content div.cols2-7525 div.cols2-7525-col2 {
  width: 24%;
}

@media (max-width: 800px) {
  #content div.cols2-7525 div.cols2-7525-col1 {
    width: 49%;
  }

  #content div.cols2-7525 div.cols2-7525-col2 {
    width: 49%;
  }
}

@media (max-width: 600px) {
  #content div.cols2-7525 div.cols2-7525-col1,
  #content div.cols2-7525 div.cols2-7525-col2 {
    margin-right: 0;
    width: 100%;
  }
}

/* --- CONTENT / 3-COL / 33/33/33 -------------------------------- */
#content div.cols3-33 {
  float: left;
  width: 100%;
}

#content div.cols3-33 div.cols3-33-col {
  float: left;
  margin-right: 2%;
  width: 32%;
}

#content div.cols3-33 div.cols3-33-col3 {
  float: right;
  margin-right: 0;
}

@media (max-width: 600px) {
  #content div.cols3-33 div.cols3-33-col {
    width: 100%;
    margin-right: 0;
    padding-bottom: 20px;
  }
}


/* --- CONTENT / 4-COL / 25 -------------------------------------- */
#content div.cols4-25 {
  float: left;
  width: 100%;
}

#content div.cols4-25 div.cols4-25-col {
  float: left;
}

#content div.cols4-25 div.cols4-25-col1,
#content div.cols4-25 div.cols4-25-col2,
#content div.cols4-25 div.cols4-25-col3 {
  width: 23.5%;
  margin-right: 2%;
}

#content div.cols4-25 div.cols4-25-col4 {
  width: 23.5%;
}

@media (max-width: 800px) {
  #content div.cols4-25 div.cols4-25-col1,
  #content div.cols4-25 div.cols4-25-col2,
  #content div.cols4-25 div.cols4-25-col3,
  #content div.cols4-25 div.cols4-25-col4 {
    width: 49%;
  }

  #content div.cols4-25 div.cols4-25-col2,
  #content div.cols4-25 div.cols4-25-col4 {
    margin-right: 0;
  }
}

@media (max-width: 600px) {
  #content div.cols4-25 div.cols4-25-col1,
  #content div.cols4-25 div.cols4-25-col2,
  #content div.cols4-25 div.cols4-25-col3,
  #content div.cols4-25 div.cols4-25-col4 {
    margin-right: 0;
    width: 100%;
  }
}

/* --- CONTENT / PAGETEASER / GREYBOX ---------------------------- */
div.pageteaser-greybox {
  width: 100%;  
  float: left;
}

div.pageteaser-greybox div.pageteaser-item {
  width: calc(32% - 43px);
  height: auto;
  margin-right: 2%;
  float: left;
  position: relative;
  border: 1px solid #dadada;
  background-color: #fafafa;
  padding: 20px;
}

div.pageteaser-greybox div.pageteaser-item:hover {
  background-color: #ddd;
}

div.pageteaser-greybox div.pageteaser-item a {
  text-decoration: none;
  display: block;
}

div.pageteaser-greybox div.pageteaser-item:nth-child(3n+0) {
  margin-right: 0;
}

div.pageteaser-greybox div.pageteaser-item:nth-child(3n+1) {
  clear: left;
}

div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-image {
  margin-bottom: 20px;
  text-align: center;
}

div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-image img {
  max-width: 100% !important;
  height: auto !important;
}

div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-title {
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.02rem;
  margin-bottom: 10px;
  text-align: center;
  line-height: 120%;
}

div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-desc {
  font-size: 0.9rem;
  text-align: center;
}


@media only screen and (max-width: 800px) {  
  div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-title {
    font-size: 1.2rem;
  }  
}

@media only screen and (max-width: 800px) {  
  div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-title {
    font-size: 1rem;
  }  
}

@media only screen and (max-width: 550px) {  
  div.pageteaser-greybox div.pageteaser-item {
    width: calc(100% - 43px);
    margin-bottom: 20px;
    margin-right: 0;
    display: table;
    vertical-align: middle;
  }  

  div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-image {
    float: unset;
    margin-bottom: 0;
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    width: 25%;
  }

  div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-image img {
    max-width: unset !important;
    width: 100%;
  }

  div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-title {
    font-size: 1.4rem;
    display: table-cell;
    vertical-align: middle;
    float: unset;
    margin-bottom: 0;
    padding-left: 20px;
    text-align: left;
  }

  div.pageteaser-greybox div.pageteaser-item div.pageteaser-item-desc {
    display: none;
  }  
}


/* --- CONTENT / PAGETEASER / BOX -------------------------------- */
div.pageteaser-box {
  width: 100%;  
  float: left;
}

div.pageteaser-box div.pageteaser-item {
  width: 32%;
  height: auto;
  margin-right: 2%;
  float: left;
  position: relative;
}

div.pageteaser-box div.pageteaser-item a {
  text-decoration: none;
  display: block;
}

div.pageteaser-box div.pageteaser-item:nth-child(3n+0) {
  margin-right: 0;
}

div.pageteaser-box div.pageteaser-item:nth-child(3n+1) {
  clear: left;
}

div.pageteaser-box div.pageteaser-item div.pageteaser-item-image {
  margin-bottom: 20px;
  text-align: center;
}

div.pageteaser-box div.pageteaser-item div.pageteaser-item-image img {
  max-width: 100% !important;
  height: auto !important;
}

div.pageteaser-box div.pageteaser-item div.pageteaser-item-title {
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.02rem;
  margin-bottom: 10px;
  text-align: center;
  line-height: 120%;
}

div.pageteaser-box div.pageteaser-item div.pageteaser-item-desc {
  font-size: 0.9rem;
  text-align: center;
}


@media only screen and (max-width: 800px) {  
  div.pageteaser-box div.pageteaser-item div.pageteaser-item-title {
    font-size: 1.2rem;
  }  
}

@media only screen and (max-width: 800px) {  
  div.pageteaser-box div.pageteaser-item div.pageteaser-item-title {
    font-size: 1rem;
  }  
}

@media only screen and (max-width: 550px) {  
  div.pageteaser-box div.pageteaser-item {
    width: 100%;
    margin-bottom: 20px;
    margin-right: 0;
    display: table;
    vertical-align: middle;
  }  

  div.pageteaser-box div.pageteaser-item div.pageteaser-item-image {
    float: unset;
    margin-bottom: 0;
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    width: 33%;
  }

  div.pageteaser-box div.pageteaser-item div.pageteaser-item-image img {
    max-width: unset !important;
    width: 100%;
  }

  div.pageteaser-box div.pageteaser-item div.pageteaser-item-title {
    font-size: 1.4rem;
    display: table-cell;
    vertical-align: middle;
    float: unset;
    margin-bottom: 0;
    padding-left: 20px;
    text-align: left;
  }

  div.pageteaser-box div.pageteaser-item div.pageteaser-item-desc {
    display: none;
  }  
}


/* --- CONTENT / ACCORDION --------------------------------------- */
div.accordion {
  float: left;
  padding: 0;
  width: 100%;
  border-top: 2px dotted #999999;
}

div.accordion > div.accordion-header {
}

div.accordion > div.accordion-header > div  {
  padding: 1rem;
  background-image: url(../images/accordion-close.png);
  background-position: right 1rem center;
  background-repeat: no-repeat;
  cursor: pointer;
  width: calc(100% - 2rem);
}

div.accordion > div.accordion-header > div {
  font-size: 1.1rem;
  font-weight: 500;
  color: #006b72;
  letter-spacing: 0.05rem;
  line-height: 100%;
}

div.accordion > div.accordion-header.open {
  background-color: #f8f8f8;
}

div.accordion > div.accordion-header.open > div {
  background-image: url(../images/accordion-open.png);
}


div.accordion > div.accordion-content {
  display: none;
  width: calc(100% - 2rem);
  padding: 0 1rem 0.25rem;
  background-color: #f8f8f8;
}

@media (max-width: 767px) {
}

@media only screen and (max-width: 480px) {  
}



/*  --- FE LOGIN --------------------------------------------------  */
div.tx-felogin-pi1 {
}

div.tx-felogin-pi1 form fieldset {
  border: none;
}

div.tx-felogin-pi1 form fieldset legend {
  display: none;
}  

div.tx-felogin-pi1 form fieldset > div {
  padding: 0 0 10px 0;
}  

/*  --- FORMULAR --------------------------------------------------  */
#content div.csc-mailform {
  max-width: 50%;
}

#content div.cols2-5050 div.csc-mailform {
  width: 100%;
  max-width: 100%;
}

#content div.cols2 div.csc-mailform * {
}

#content div.csc-mailform ol {
  list-style: none;
}

#content div.csc-mailform ol li {
  padding: 0 0 5px 0;
}

#content div.csc-mailform li label {
  float: left;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 150%;
  font-size: 16px;
}

#content div.csc-mailform li input,
#content div.csc-mailform li textarea,
#content div.csc-mailform li select {
  background-color: #eaeaea;
  float: left;
  width: calc(100% - 20px);
  border: none;
  padding: 5px 10px;
  margin-bottom: 10px;
}

#content div.csc-mailform li select {
  width: 100%;
}

#content div.csc-mailform li.csc-form-element-submit {
  float: left;
}

#content div.csc-mailform li.csc-form-element-submit input {
  padding: 10px 30px;
  background-color: #00b5c4;
  border: none;
  text-decoration: none;
  width: auto;
  color: #fff;
  text-transform: uppercase;
}


#content div.csc-mailform fieldset ol {
   padding: 0 1em;
}

#content div.csc-mailform li.csc-form-element-radio {
  margin-bottom: 5px;
}

#content div.csc-mailform li.csc-form-element-radiogroup fieldset.fieldset-subgroup,
#content div.csc-mailform li.csc-form-element-checkboxgroup fieldset.fieldset-subgroup {
}

#content div.csc-mailform li.csc-form-element-radiogroup fieldset.fieldset-subgroup legend,
#content div.csc-mailform li.csc-form-element-checkboxgroup fieldset.fieldset-subgroup legend {
  width: 100%;
  line-height: 150%;
  font-size: 16px;
  color: #666666;
}

#content div.csc-mailform li.csc-form-element-radiogroup fieldset.fieldset-subgroup ol,
#content div.csc-mailform li.csc-form-element-checkboxgroup fieldset.fieldset-subgroup ol {
  top: 0;
  margin-left: 2rem;
}

#content div.csc-mailform li.csc-form-element-radio label,
#content div.csc-mailform li.csc-form-element-checkbox label {
  width: calc(100% - 2rem);
  float: right;
}

#content div.csc-mailform li.csc-form-element-radio input,
#content div.csc-mailform li.csc-form-element-checkbox input {
  float: left;
  width: auto;
  margin: 6px 10px 0 0;
}

#content div.smallform div.csc-mailform li label {
  padding: 0 0 5px;
}  

@media only screen and (max-width: 767px) {
}

@media (max-width: 1023px) {
  #content div.csc-mailform {
    width: 100%;
    max-width: 100%;
  }

  #content div.csc-mailform ol li {
    padding: 10px 0 0;
  }

  #content div.csc-mailform li label {
    margin: 0;
  }
  
  #content div.csc-mailform li input,
  #content div.csc-mailform li textarea,
  #content div.csc-mailform li select {
    width: calc(100% - 20px - 2px);
    margin: 0;  
  }
}

/*  --- FORMULAR - FORMFRAMEWORK ----------------------------------  */

#content div.frame-type-form_formframework {
  max-width: 50%;
}

#content div.cols2-5050 div.frame-type-form_formframework {
  width: 100%;
  max-width: 100%;
}

#content div.cols2 div.frame-type-form_formframework * {
}

#content div.frame-type-form_formframework h1,
#content div.frame-type-form_formframework h2 {
  display: none;
}  

#content div.frame-type-form_formframework div.form-group {
  float: left;
  width: 100%;
  padding: 0 0 5px 0;
}

#content div.frame-type-form_formframework div.form-group label {
  float: left;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 150%;
  font-size: 16px;
}

#content div.frame-type-form_formframework div.form-group div.input input,
#content div.frame-type-form_formframework div.form-group div.input textarea,
#content div.frame-type-form_formframework div.form-group div.input select {
  background-color: #eaeaea;
  float: left;
  width: calc(100% - 20px);
  border: none;
  padding: 5px 10px;
  margin-bottom: 10px;
}

#content div.frame-type-form_formframework div.form-group div.input select {
  width: 100%;
}


#content div.frame-type-form_formframework div.actions {
  float: left;
}

#content div.frame-type-form_formframework div.actions button {
  padding: 10px 30px;
  background-color: #057a82;
  border: none;
  text-decoration: none;
  width: auto;
  color: #fff;
  text-transform: uppercase;
  cursor: pointer;
}

#content div.frame-type-form_formframework div.form-group div.input div.inputs-list {
  top: 0;
  margin-left: 2rem;
}

#content div.frame-type-form_formframework div.form-group div.input div.inputs-list div.form-check label.form-check-label {
  width: calc(100% - 2rem);
  float: left;
}

#content div.frame-type-form_formframework div.form-group label.add-on input,
#content div.frame-type-form_formframework div.form-group div.input div.inputs-list div.form-check label.form-check-label input {
  float: left;
  width: auto;
  margin: 6px 10px 6px 0;
}


#content div.smallform div.frame-type-form_formframework div.form-group div.input label {
  padding: 0 0 5px;
}  

@media only screen and (max-width: 767px) {
}

@media (max-width: 1023px) {
  #content div.frame-type-form_formframework {
    width: 100%;
    max-width: 100%;
  }

  #content div.frame-type-form_formframework div.form-group {
    padding: 10px 0 0;
  }

  #content div.frame-type-form_formframework div.form-group label {
    margin: 0;
  }
  
  #content div.frame-type-form_formframework div.form-group div.input input,
  #content div.frame-type-form_formframework div.form-group div.input textarea,
  #content div.frame-type-form_formframework div.form-group div.input select {
    width: calc(100% - 20px - 2px);
    margin: 0;  
  }
}



/*  --- INDEXED SEARCH --------------------------------------------  */
div.tx-indexedsearch-searchbox {
  padding-bottom: 15px;
}

div.tx-indexedsearch-searchbox fieldset {
  border: none;
}

div.tx-indexedsearch-searchbox fieldset legend {
  display: none;
}

div.tx-indexedsearch-searchbox fieldset > div {
  padding-bottom: 10px;
}

div.tx-indexedsearch-searchbox fieldset div.tx-indexedsearch-form label {
  display: inline-block;
  width: 125px;
}

div.tx-indexedsearch-searchbox fieldset div.tx-indexedsearch-form input {
  padding: 2px 4px;
}  

div.tx-indexedsearch-searchbox fieldset div.tx-indexedsearch-search-submit {
  margin-left: 129px;
}  


div.tx-indexedsearch-browsebox {
  padding: 15px 0;
}

/*  --- FAHRPLAN --------------------------------------------------  */
#fahrplan {
}

.hfs_validation_error {
  position: absolute;
}

#fahrplan > div {
    width: calc(100% - 60px);
    padding: 10px 30px;
}


#fahrplan > div > h1 {
    font-size: 1.0rem;
    font-weight: 400;
    letter-spacing: 0.02rem;
    color: #fff;
    padding: 0 0 0 40px;
    margin: 0;
    line-height: 30px;
    background-repeat: no-repeat;
    background-position: left 4px;
}

#fahrplan > div > h1 > a{
    color: #fff;
}

#fahrplan-news {
    background-color: #005359;
}

#fahrplan-auskunft {
    background-color: #047A82;
}

#fahrplan > div.open {
}

#fahrplan > div.close {
}

#fahrplan > div.open > h1 {
    background-image: url(../images/accordion-fahrplan-open.png);
}

#fahrplan > div.close > h1 {
    background-image: url(../images/accordion-fahrplan-close.png);
}

#fahrplan > div.open > div {
    display: inline-block;
    width: 100%;
}

#fahrplan > div.close > div {
    display: none;
}

#fahrplan-news-list {
    float: left;
}

#fahrplan-news-list ul {
    padding: 35px 0 0;
    list-style: none;
}

#fahrplan-news-list ul li {
    background-image: url(../images/icon-bus-pfeil.png);
    background-repeat: no-repeat;
    background-position: left 5px;
    padding-left: 80px;
}

#fahrplan-news-list ul li * {
    color: #fff;
}

#fahrplan-news-more {
    float: right;
    padding: 15px 0 25px;
}

#fahrplan-news-more a {
    padding: 5px 65px;
    background-color: #fff;
    font-size: 0.9rem;
    width: 180px;
    display: inline-block;
    text-align: center;
}



#fahrplan-auskunft > div {
    position: relative;
    min-height: 200px;
    margin: 20px 0;
}

.lyr_atomProductList .lyr_atomProdListItemLabel,
.lyr_atomListSuggest .lyr_atomItemSuggest {
    line-height: 1.42857143;
}

#fahrplan-auskunft div.lyr_atomFieldsetWrapper {
    width: 100%;
    max-width: unset;
    min-width: unset;
}

#fahrplan-auskunft button.lyr_atomPrimaryBtn:hover {
  background-color: #005359;
  border: none;
}

#fahrplan-auskunft button.lyr_atomPrimaryBtn{
  background-color: #005359;
  border: none;
}

@media (min-width: 800px) {
    #fahrplan-auskunft > div,
    #fahrplan-auskunft div.hfs_widgetAppContainer {
        min-height: 150px;
    }

    #fahrplan-auskunft div.lyr_tpFromInput {
        width: 50%;
        float: left;
    }

    #fahrplan-auskunft div.lyr_tpInputWrap {
        margin-top: 3.5px;
        margin-bottom: 0;
    }
    
    #fahrplan-auskunft div.lyr_tpConnConnector {
        display: none;
    }

    #fahrplan-auskunft div.lyr_atomDtpWrap {
        width: 100%;
    }

    #fahrplan-auskunft button.lyr_atomPrimaryBtn {
        max-width: 350px;
        float: right;
    }
}




/*  --- CONTENT / FAHRPLAN ------------------------------------------  */
div#fahrplan-search input[type=submit] {
  padding: 10px 30px;
  background-color: #429136;
  border: none;
  text-decoration: none;
  width: auto;
  color: #fff;
  text-transform: uppercase;
}

div#fahrplan-search input {
  padding: 10px 30px;   
}


div.fahrplan {
  border-bottom: 1px solid #666;
  margin: 0 0 1.1rem;
  width: 100%;
  float: left;
}

div.fahrplan div.fahrplan-line {
  font-weight: 700;
  float: left;
  margin-bottom: 1.3rem;
}

div.fahrplan div.fahrplan-line:after {
  content: "|";
  font-weight: 400;
  padding: 0 0.5rem 0 0.4rem;
}

div.fahrplan div.fahrplan-route {
}

div.fahrplan div.fahrplan-timetables {
}

div.fahrplan div.fahrplan-timetables a {
}

div.fahrplan div.fahrplan-timetables a,
div.fahrplan div.fahrplan-timetables a[href$=".pdf"],
div.fahrplan div.fahrplan-news a,
div.fahrplan div.fahrplan-links a {
  /*background-position: left 5px;*/
  background-repeat: no-repeat;
  display: inline-block;
  margin-bottom: 1.1rem;
  /*padding: 2px 0 0 35px;*/
}

@media (max-width: 480px) {
  div.fahrplan div.fahrplan-timetables a[href$=".pdf"] {
    padding: 2px 0 0 35px;
  }
  div#fahrplan-search input[type=submit] {
    margin-top: 10px;
  }
}

div.fahrplan div.fahrplan-timetables a,
div.fahrplan div.fahrplan-timetables a[href$=".pdf"]{
  background-image: url(../images/fahrplan-icon-pdf.png);
}

div.fahrplan div.fahrplan-news {
}

div.fahrplan div.fahrplan-news a {
  background-image: url(../images/fahrplan-icon-news.png);
  padding-left: 35px;
}

div.fahrplan div.fahrplan-links {
}

div.fahrplan div.fahrplan-links a {
  background-image: url(../images/fahrplan-icon-link.png);
}







