/*
--------------------------------------------------------------------------------

 Main styles

--------------------------------------------------------------------------------
*/

/*
Colors:

red: #e00;

green: #099;

lighter:
10%: #1aa3a3;
20%: #33adad;
              30%: #4db8b8;
              40%: #66c2c2;
              50%: #80cccc;
              60%: #99d6d6; => body-bg
              70%: #b3e1e1;
              80%: #ccebeb;
              90%: #e6f5f5;

darker:
              10%: #008989;
              20%: #007a7a;
              30%: #006b6b;
              40%: #005c5c;
              50%: #004c4c;
              60%: #003d3d;
              70%: #002e2e;
              80%: #001f1f;
              90%: #000f0f;

Grey:
#e5e5e5;
#cccccc;
#b2b2b2;
#999999;
#7f7f7f;
#666666;
#4c4c4c;
#333333;
#191919;

*/


html * { font-size:100.01%; }
  
body {
  overflow-y: scroll;
  background: #99d6d6;
  text-align: center;
  font-family: arial, Helvetica, sans-serif;
  font-size: 75.00%;
  color:#333;  
  line-height: 1.5em;
}
.page_margins {
  text-align:left;
  margin: 0 auto;
  width: 960px;
  background: #fff;
  min-height: 300px;
  height: auto !important;
  height: 300px;
}
#header, #nav, #main, #footer,
#col2_content_innen {
  overflow:hidden;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}
#header {
  color: #000;
  background: #333;
  height: 195px;
}
#header .page {
  position:relative;
  padding: 20px 20px 0 20px;
  height: 175px;
}
#logo {
  float: left;
}
#main {
  padding: 0 0 0 0;
  line-height: 1.5em;
  background: #333;
}

/* Footer */
#footer {
  color:#999;
  background: transparent;
  line-height: 1.5em;  
  min-height: 150px;
  height:auto !important;
  height: 150px;
  background: #99d6d6 url('../images/bg-footer.png') repeat-x center top;
}
#footer .page_margins {
  background: #99d6d6 url('../images/bg-footer-page-margins.png') no-repeat center top;
  min-height: 150px;
  height:auto !important;
  height: 150px;
}
#footer .page { position: relative; }

#footer .page a {
  position: absolute;
  background: transparent url('../images/bg-footer-impressum2.png');
  text-indent: -999em;
  width: 290px;
  height: 70px;
  right: 20px;
  top: 52px;
}
#footer .page a:hover { background-position: 0 -70px; }

/* Sub navi */
#col1 {
  width: 200px;
  margin: 0 20px 0 0;
}
#col1_content {
  padding: 0 0 0 20px;
  margin: 0;
}

/* Main content */
#col2  {
  width: 480px;
  float:left;
  margin: 0;
}
#col2_content {
  padding: 0 0 5em 0;
}

/* Margin content */
#col3 {
  width: 200px;
  margin-left: 740px;
  margin-right:20px;
/*  border: 1px solid #ccebeb;
  -moz-border-radius: 0 20px 20px 0;*/
  }
#col3_content {
  
}
#col3_content_innen {
  box-sizing: border-box;
  padding: 12px 20px;  
  background: #e6f5f5;  
  -moz-border-radius: 10px;
  border-radius: 10px;
}

/*
--------------------------------------------------------------------------------

 Navigation styles

--------------------------------------------------------------------------------
*/

/* Meta navigation */
.metanav {
  margin: 0;
  padding: 0;
  line-height: 1em;
  list-style: none;
  white-space: nowrap;
  float:right;
  font-size:100%;
}
.metanav li {
  list-style-type:none !important;
  float:left;
  margin:0;
  padding:0 0 0 10px;
}
.metanav  li a {
  text-decoration: none;
  color: #999;
}
.metanav  li.cur a {
  border-bottom: 2px solid #ccc;
}
.metanav  li a:hover {
  color: #666;
  border-bottom: 2px solid #e00;
}

/* Main navigation */
.mainnav {
  position: absolute;
  bottom: 43px;
  left: 220px;
  margin: 0;
  padding: 0;
  line-height: 1em;
  list-style: none;
  white-space: nowrap;
  font-size: 133.33%;
}
.mainnav  li {
  list-style-type:none !important;
  float:left;
  margin:0;
  padding:0 20px 0 0;
}
.mainnav  li a {
  text-decoration: none;
  color: #666;
}
.mainnav  li.act a {
  border-bottom: 4px solid #ccc;  
}
.mainnav  li.cur a {
  border-bottom: 4px solid #e00;  
}
.mainnav  li a:hover {
  color: #000;
  border-bottom: 4px solid #e00;
}

/* Sub navigation: first layer */
.subnav {
  list-style-type:none;
  margin: 1.1em 0 0 0;
  font-size:100%;
}
.subnav li {
  margin: 0.4em 0 0 0;
}
.subnav li a {
  color: #999;
  display:block;
  text-decoration: none;
  padding: 0.2em 10px 0 0;
  background: transparent;
  border-bottom: 0.2em solid transparent;
}
.subnav li a.act {
  border-bottom: 0.2em solid #ccc;
}
.subnav li a.cur {
  color: #333;
  border-bottom: 0.2em solid #e00;  
}
.subnav li a:hover {
  color: #333;
/*  background: #eee;*/
  border-bottom: 0.2em solid #e00;
}

/* Sub navigation: second layer */
.subnav li ul {
  list-style-type:none;
  margin: 0;
  padding: 0.4em 0 0 0
}
.subnav li ul li {
  border: 0;
  margin: 0;
}
.subnav li ul li a {
  padding: 0.1em 10px 0.1em 0;
  margin: 0 0 0 25px;
}

/*
--------------------------------------------------------------------------------

 Content styles

--------------------------------------------------------------------------------
*/

h1,h2,h3 {
  font-weight:normal;
  color: #333;
  margin: 2em 0 1em 0;
  line-height: 1.2em;
  padding: 0 0 0.2em 0;
   border-bottom: 1px solid #999;
  }
h2,h3 {
  color: #333;
  border-bottom: 1px solid #999;
}

/* 30px: font-size:250%;  */
/* 24px: font-size:200%;*/
h1 { font-size:150% }                       /* 18px */
h2 { font-size:133.33% }                    /* 16px */
h3 { font-size:116.67%; }                   /* 14px */                
/* 12px: font-size:100%; */

#col2 h1.csc-firstHeader {
    font-size: 200%;
    border-bottom: 2px solid #e00;
    margin: 0 0 1em 0;
    color: #000;
}

/* Überschriften rechte Spalte */
#col3 h1,
#col3 h2,
#col3 h3 {
  color: #005c5c;
  font-size:133.33%;
  display: block;
  margin: 2em 0 0.5em 0;
  border-bottom: 2px solid #99d6d6;
}
#col3 h2,
#col3 h3 {
  font-size:116.67%;
}
#col3 h1.csc-firstHeader {
    margin: 0 0 0.5em 0;
}

/* Lists */
ul, ol { line-height:1.5em; margin:0 0 1em 1em; }
ul { list-style-type:square; }
ol { list-style-type:decimal; }
li { margin: 0 0 0.5em 0.6em; line-height:1.5em; }

#col2 ul,
#col2 ol {
  font-size:116.67%;
  margin: 0 0 1em 1em;
  line-height: 1.5em;
}
#col2 ul ul,
#col2 ol ol {
  font-size: 1em;
  margin: 0.5em 0 0.5em 1em;
/*  color:#666; */
}
p.align-right { text-align: right; }
p.align-center {
  text-align: center;
  font-size: 1.6em;
  line-height:1.5em;
}
p {
  font-size:116.67%;
/*  border-left: 1px solid #ccc;
  padding: 0 0 1em 40px;
  margin: 0;*/
  margin: 0 0 1em 0;
  line-height: 1.5em;
}
#col2 p.leitbild {
  font-size: 2em;
  line-height: 1.2em;
  text-align: center;
  color: #e00;
  margin: 0 0 2em 0;
}

#col3 p,
#col3 ul,
#col3 ol {
    color: #007a7a;
    font-size: 100%;
    line-height: 1.5em;
}

blockquote, cite, q {
  font-style:italic;
}
blockquote { margin:0 0 3em 0; color:#099; }

strong,b { font-weight:bold; }
em,i { font-style:italic; }

sub { vertical-align: sub; font-size: smaller; }
sup { vertical-align: super; font-size: smaller; }

hr {
  color:#fff;
  background:transparent;
  margin:0 0 0.5em 0;
  padding:0 0 0.5em 0;
  border:0;
  border-bottom:1px #eee solid;
}


#col2 a {
  text-decoration: none;
  color: #e00;
}
#col2 a:hover { text-decoration: underline; }

#col3 p a,
#col3 ul a {
  text-decoration: underline;
/*  border-bottom: 1px solid #66C2C2;*/
  color: #007a7a;
}
#col3 p a:hover,
#col3 ul a:hover {
  text-decoration: none;
/*  border-bottom: 1px solid #e00;*/
  color: #e00;
  text-decoration: underline;
}

/* Images + Text with images */
div.csc-textpic-intext-left div.csc-textpic-imagewrap,
div.csc-textpic-intext-left-nowrap div.csc-textpic-imagewrap {
    margin-right: 20px !important;
}
div.csc-textpic-intext-right div.csc-textpic-imagewrap,
div.csc-textpic-intext-right-nowrap div.csc-textpic-imagewrap {
    margin-left: 20px !important;
}
div.csc-textpic div.csc-textpic-single-image img {
    margin-bottom: 20px;
}
#col2 .csc-textpic-imagewrap ul { margin: 0;}

div.csc-textpic-center div.csc-textpic-imagewrap .csc-textpic-image {
    margin-left: 0;
}
#col3 div.csc-textpic div.csc-textpic-imagewrap .csc-textpic-image .csc-textpic-caption {
    font-size: 100%;
    margin: 1em 0 0 0
}
#col3 div.csc-textpic div.csc-textpic-imagewrap .csc-textpic-image .csc-textpic-caption {
    color:#099;
    margin: 1em 0 0 0;
}

/* Content elements */
#col2 div.csc-default,
#col3 div.csc-default { margin: 0 0 2em 0;}


/*
----------------------------------------------------------------------------------------------------

 Forms

----------------------------------------------------------------------------------------------------
*/

#col2 label { display:block; }
#col2 .csc-mailform-field { margin-bottom:1em; }
#col2 input[type=text],
#col2 textarea {
  width: 468px;
  border:1px solid #ddd;
  padding:5px;
  font-family:Arial, sans-serif;
}
#col2 input[type=text]:focus,
#col2 textarea:focus {
  border:1px solid #099;
  background-color:#e6f5f5;
}
#col2 .csc-mailform-field .csc-mailform-submit {
    background: none repeat scroll 0 0 #e00;
    border: 0;
    color: #FFFFFF;
    padding:5px;
    font-weight: bold;
    cursor: pointer;
    float: right;
}


#col3 label { display:block; }
#col3 .csc-mailform-field { margin-bottom:1em; }
#col3 input[type=text],
#col3 textarea {
  width: 148px;
  border:1px solid #099;
  padding:5px;
  font-family:Arial, sans-serif;
}
#col3 .csc-mailform-field .csc-mailform-submit {
    background: none repeat scroll 0 0 #099;
    border: 0;
    color: #FFFFFF;
    padding:5px;
    font-weight: bold;
    cursor: pointer;
    float: right;
}

/*
--------------------------------------------------------------------------------

 Search

--------------------------------------------------------------------------------
*/
span.csc-sword {
  background: #ff9;
}
p.csc-searchResult {
  margin: 0 0 2em 0;
}
/*
--------------------------------------------------------------------------------

 Sitemap

--------------------------------------------------------------------------------
*/

#main div.csc-sitemap ul {
  font-size: 1.2em;
  padding: 0 0 0 40px;
  margin: 0;
  list-style-type: none;
}
#main div.csc-sitemap ul li { margin: 0 0 0.5em 0; }
#main div.csc-sitemap ul li ul {
  padding: 0 0 0 40px;
  margin: 0;
  font-size: 1em;
}
#main div.csc-sitemap ul li ul li ul {
  padding: 0 0 0 40px;
  margin: 0;
}    
#main div.csc-sitemap a {
    color: #666;
    display: block;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}
#main div.csc-sitemap a:hover {
    color: #000;
    border-bottom: 1px solid #e00;
}

/*
--------------------------------------------------------------------------------

 EXT Multicolumn (Erweiterung deaktiviert)

--------------------------------------------------------------------------------



#col2 ul.multicolumnContainer {
  font-size: 1em;
  margin: 0;
}
#col2 ul.multicolumnContainer li {
  margin: 0;
}
*/

/*
--------------------------------------------------------------------------------

 EXT News styles

--------------------------------------------------------------------------------
*/


/* Latest view */
.news-latest-container {
  padding: 0;
}

/* List view */
.news-list-container {padding: 0;}
.news-list-item {
  padding:20px;
  margin: 0 0 2em 0;
  background: #f9f9f9;
  border: 2px solid #e5e5e5;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.news-list-item h2 { margin: 0 0 0 0;border: 0; }
#col2 .news-list-item h2 a {
  padding: 0 0 0.3em;
  text-decoration: none;
  border-bottom: 2px solid #e5e5e5;
  display: block;
}
#col2 .news-list-item h2 a:hover {
  border-bottom: 2px solid #e00;
}
#col2 .news-list-morelink a { color: #666; }
#col2 .news-list-morelink a:hover { color: #e00; }
.news-list-item .date {
  font-size: 0.9em;
  color: #999;
  margin: 0 0 1em 0;
}
.news-list-item p {
  font-size: 1em;
  margin: 0;
  color: #666;
}
.news-list-item .news-list-clear {
  font-size: 0.1em;
  line-height:  0.1em;
  clear: both;
}

.news-list-item-header .date { float: left; }
.news-list-item-header .category {
  float: right;
  font-size: 0.9em;
  color: #999;
  margin: 0 0 1em 0;
}

/* List view: Pagebrowser */
.news-list-browse {
  font-size: 0.9em;
  text-align: center;
  margin: 2em 0 0 0;
}
.browseLinksWrap {
  min-height: 30px;
  }
.showResultsWrap {
  color: #999;
  margin: 0 0 2em 0;
}
.browseLinksWrap .disabledLinkWrap,
.browseLinksWrap .activeLinkWrap,
.browseLinksWrap  a {
  padding: 6px 8px;
  border: 2px solid #ccc;
  -moz-border-radius: 3px 3px 3px 3px;
  border-radius: 3px;
  text-decoration: none;
  background: transparent;
}
.browseLinksWrap .disabledLinkWrap {
  color: #ccc;
  border: 2px solid #ddd;
}
.browseLinksWrap .activeLinkWrap {
  background: #eee;
  color: #333;
  font-weight: bold;
  border: 2px solid #999;
}
#col2 .browseLinksWrap a {color: #333;}

#col2 .browseLinksWrap a:hover {
  color: #e00;
  border: 2px solid #e00;
  text-decoration: none;
}
   
/* Single view */
.news-single-item {
  padding: 0;
  margin: 0;
}
#col2 .news-single-item h1 {
    font-size: 200%;
    border-bottom: 2px solid #e00;
    margin: 0 0 0 0;
    color: #000;
}
.news-single-item .date {
  color: #999;    
    float: none;
    font-size: 0.9em;
    margin: 0.5em 0 1em 0;
    padding: 0;
/*    text-align: right;
  color: #e00;*/
}
.news-single-backlink {
  padding: 0;
}

/*
--------------------------------------------------------------------------------

 Additional home styles

--------------------------------------------------------------------------------
*/

body.home #col1,
body.home #col3 {display: none;}
body.home #col2 {
  margin: 0;
  width: auto;
  float:none;
}
body.home #col2 div.csc-default {margin:0;}
body.home #col2_content {
  padding: 0 20px 3em 20px;
}
body.home #col2_content_innen {
  margin: 0 0 80px 0;
}
body.home .teaser {
  position:relative;
  background: #ccebeb url('../images/bg-home-teaser.png') no-repeat;
  background-position:left bottom;
  min-height:290px;
}
body.home h1 {
  position:absolute;
  top:1em;
  left:200px;
  font-size: 2.8em;
  padding:0 20px 0 0;
  margin:0;
  border: 0;
  color: #33adad;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}
body.home h1 span {
  font-size: 0.8em;
}
body.home #col2 .infobox > div {
  box-sizing: border-box;
  width: 280px;
  margin-left: 640px;
  padding:3em 20px;
  background: #099 url('../images/bg-home-teaser.png') no-repeat;
  background-position:right bottom;
  color: #e6f5f5;
  min-height:290px;
}

/* Info box */
body.home #col2 .infobox a {
  background: #e6f5f5;
  color: red;
  display: inline-block;
  padding: 0.25em 0.5em;
}
body.home #col2 .infobox a:hover {
  text-decoration:none;
  background: #fff;
}

body.home .infobox h2 {
  border:0;
  font-weight:bold;
  padding:0;
  margin: 0 0 1em 0;
  color: #fff;
  font-size: 1.5em;
}

/* Quote */
body.home blockquote {
  padding: 60px 0 0 200px;
  margin: 0;
  position:absolute;
  bottom:50px;
}
body.home blockquote p {
  font-size: 150%;
  line-height: 1.2em;
  color: #e00;
}
body.home blockquote cite {
  font-style: normal;
  color: #333;
}




/*
--------------------------------------------------------------------------------

 Responsive content

--------------------------------------------------------------------------------
*/

/* flexible Medien*/
img, embed, object, video {
 max-width: 100%;
 height: auto;
 width: auto;
}

/* CSS-Styled-Content Regeln überschreiben
DIV.csc-textpic-above DIV.csc-textpic-imagewrap,
DIV.csc-textpic-below DIV.csc-textpic-imagewrap,
DIV.csc-textpic DIV.csc-textpic-imagewrap UL LI,
DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image {
 float: none;
 display: inline-block;
 vertical-align: top;
}
DIV.csc-textpic-left DIV.csc-textpic-imagewrap .csc-textpic-image,
DIV.csc-textpic-intext-left-nowrap DIV.csc-textpic-imagewrap .csc-textpic-image,
DIV.csc-textpic-intext-left DIV.csc-textpic-imagewrap .csc-textpic-image {
 display: inline-block;
}
DIV.csc-textpic-imagewrap UL.csc-textpic-imagerow-none .csc-textpic-image {
 display: block;
}
.csc-default {clear: both;}
*/

/*
--------------------------------------------------------------------------------

 Responsive navigation

--------------------------------------------------------------------------------
*/

.nav-collapse-outer {
  background: #333;
}
.nav-collapse-inner {
  max-width: 760px;
  position:relative;
  margin:0 auto;
  background: #fff;
}
.nav-collapse {
  background: 000;
  padding: 0;
}
.nav-collapse ul {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  list-style: none;
}
.nav-collapse ul li {margin:0;}

/* Meta nav collapse */
ul.metanav-collapse {
  height:100px;
}
ul.metanav-collapse li {
  display:inline;
  padding: 1.5em 0.5em;
  display:inline-block;
}
ul.metanav-collapse li a {
  color: #999;
  text-decoration:none;
}

/* Main nav collapse */
.mainnav-collapse {
  background: #eee;
  border-bottom: 1px solid #999;
  text-align: left;
}
.mainnav-collapse li {
  margin:0;
  padding:0;
  border-top: 1px solid #999;
}
.mainnav-collapse li a {
  padding: 0.5em 20px;
  display:block;
  color: #333;
  text-decoration: none;
}
.mainnav-collapse ul { background: #ddd;}
.mainnav-collapse ul li a { padding: 0.5em 20px 0.5em 80px; }
.mainnav-collapse ul ul { background: #ccc;}
.mainnav-collapse ul ul li a { padding: 0.5em 20px 0.5em 120px; }

.mainnav-collapse > li > a {
  font-size: 200%;
}
.mainnav-collapse ul > li > a {
  font-size: 120%;
}

.has-sub {
  position: relative;
}

.has-sub .toggle-subnav {
  display: inline-block;
  position: absolute;
  font-size: 2em;
  top: 0;
  right: 0;
  padding: 0.5em 0;
  width: 3rem;
  text-align: center;
  background: transparent;
  cursor: pointer;
  border-left: 1px solid #999;
}

.has-sub .has-sub .toggle-subnav {
  font-size: 1.2em;
}

.has-sub > ul {
  display: none;
}
.has-sub.act > ul,
.has-sub.cur > ul {
  display: block
}

.mainnav-collapse .cur > a { 
  color: #e00;
  font-weight: bold;
} 

/* Logo */
.nav-collapse-inner a.home { display:none; }
.js-nav-active .nav-collapse-inner a.home { display:block; }

/*.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: block;
  overflow: hidden;
  zoom: 1;
}
.nav-collapse.opened {
  max-height: 9999px;
}
.disable-pointer-events {
  pointer-events: none !important;
}*/


.nav-toggle {
/*  -webkit-tap-highlight-color: rgba(0,0,0,0);*/
  width: 60px;
/*  float: right;*/
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position:absolute;
  top:20px;
  right:20px;
  z-index:1;
}
.nav-toggle span {
  background: red;
  margin:0 0 10px 0;
  padding:2px 0 0 0;
  display:block;
}
/*.js-nav-active .nav-toggle {
  top: inherit;
  bottom:0;
}*/

.nav-toggle.active span { background:#666;}

.mobilenav { display:none; }
/*
--------------------------------------------------------------------------------

 Indexed search
 
--------------------------------------------------------------------------------
*/

.tx-indexedsearch-icon img {
  width: auto;
  max-width: inherit;
}
#tx_indexedsearch legend  {
  display: none;
}
.tx-indexedsearch-whatis,
.tx-indexedsearch-searchbox {
  font-size: 116.67%;
}
.tx-indexedsearch-title {
  font-size: 133.33%;
  margin-bottom: 0.5em;
}
.tx-indexedsearch-title a {
  display: block;
}
.tx-indexedsearch-title:hover {
  border-color: #e00;
}
#col2 .tx-indexedsearch-title a:hover {
  text-decoration: none;
}
.tx-indexedsearch .tx-indexedsearch-res TD.tx-indexedsearch-descr {
  font-style: inherit;
}
.tx-indexedsearch-description {
  line-height: 1.5;
  color: #666;
}
.tx-indexedsearch-whatis,
.tx-indexedsearch-browsebox {
  color: #666;
}
.tx-indexedsearch-redMarkup {
  color: #333;
}
.tx-indexedsearch .tx-indexedsearch-searchbox INPUT.tx-indexedsearch-searchbox-sword {
  width: 200px;
  border: 1px solid #999;
}
.tx-indexedsearch-searchbox-sword,
.tx-indexedsearch-searchbox-button {  
  padding: 5px;
  box-sizing: border-box;
}
.tx-indexedsearch-searchbox-button {
  background: #e00;
  border: 0;
  color: #FFFFFF;
  font-weight: bold;
  cursor: pointer;
}
ul.tx-indexedsearch-browsebox {
  list-style: none;
}
ul.tx-indexedsearch-browsebox li {
  display: inline-block;
}
.tx-indexedsearch-searchbox + .tx-indexedsearch-browsebox,
.tx-indexedsearch-info,
.tx-indexedsearch-percent,
.tx-indexedsearch-icon {
  display: none;
}

/*
--------------------------------------------------------------------------------

 Mailform
 
--------------------------------------------------------------------------------
*/
form#kontakt h2 {
  display: none;
}

.form-group {
  margin-bottom: 10px;
}
button.btn.btn-primary {
  background: none repeat scroll 0 0 #e00;
  border: 0;
  color: #FFFFFF;
  padding: 5px;
  font-weight: bold;
  cursor: pointer;
}
