.print {display: none;}

body, div, td, form, p {
  border: 0;
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  font-size: 14px;
  color: #5D5D5D;
  margin: 0;
  padding: 0;
}

html, body { 
  overflow: auto;
  background-color: #fff;
  height: 100%;
}

a { 
  color: #1BADCF; 
  text-decoration: none;
}

a:hover { 
  text-decoration: underline;
}


p, p.bodytext { line-height: 140%; padding: 0 0 10px 0; }
#content-outer p, #content-outer p.bodytext {font-size: 16px;}

h1,h2,h3,h4,h5 { 
  padding: 0; 
  margin: 0 0 10px 0;
}

.indent{
  padding-left: 50px;
}


h1 { font-size: 26px; font-weight: bold; margin: 0 0 30px 0; }
h2 { font-size: 18px; font-weight: bold; }
h3 { font-size: 18px; font-weight: bold; }

hr { border-bottom: 1px solid; height: 0; }
img { border: 0; }

input, textarea, select {
  border: 1px solid #cccccc;
  color: #000000;
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  font-size: small;
  margin-top: 2px;
  margin-right: 5px;
}

span.bold { font-weight: bold; }
span.nospam { display: none; }
span.note { color: #666666; font-size: 80%; }

table { border-collapse: collapse; }
table td, table th { vertical-align: top; }

.error, .errors { color: #DD0000; }
.warning { color: #999999; }
.clear { clear: both; }
               
.csc-textpic-caption {
  padding: 5px 0 10px 0;
  font-size: 12px;
  line-height: 130%;
  font-style: italic;
}


/*************************************
 *  Allgemein 
 *************************************/
 
div#template {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

div.inner {
  position: relative;
  margin: 0 auto;
  padding: 0;
}


/*************************************
 *  Header 
 *************************************/

div#header {
  position: relative;
}

div#header-bar {
  position: fixed;
  height: 40px;
  width: 100%;
  top: 0;
  left: 0;
  background: #1BADCF;
  z-index: 1000;
}

div#banner {
  position: relative;
  width: 100%;
}

.ce-image .ce-gallery { margin-bottom: 10px; }

#banner-img-wrap img {
  display: none;
  position: absolute;
  top: 0;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

div#logo {
  position: relative;
  margin: 40px 0 -31px 0;
  padding: 20px 30px 40px 20px;
  /* background: url(../images/header_bg.png) repeat-x scroll left bottom transparent; */
  background: url(../images/kopfbild.jpg) no-repeat scroll left bottom transparent;
}

@media screen and (min-width : 1920px)  {
    div#logo {
        background: url(../images/kopfbild_9.jpg) no-repeat scroll right bottom transparent;
    }
}

div#logo img {
  width: 100%;
  height: 100%;
  max-width: 500px;
  max-height: 100px;
}

/*************************************
 *  Inhalt 
 *************************************/

#content-outer {
    min-height: calc(100vh - 422px);
    padding-bottom: 80px;
}

div#inhalt-wrap {
  position: relative;
  margin: 40px 0 10px 0;
}

div#inhalt {
  position: relative;
  margin: 0 15px;
  min-height: 350px;
}

div#content-rechts,
div#content-links{
  position: relative;
}

div#inhalt img {
  display: block;
  width: 100%;
  height: auto;
}


/*************************************
 *  Navigation 
 *************************************/

#nav {
  position: relative;
  margin: 0;
  width: 100%;
  min-width: 660px; 
  display: none;
}


#nav-mob {
  position: fixed;
  z-index: 1000;
  padding: 20px;
  width: 100%;
  top: 0;
  left: 0;
}

#nav-button-wrap {
  position: fixed;
  right: 20px;
  top: 5px;
  z-index: 2000;
}

#nav-button {
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: none;
  background-image: url("../images/nav-button.png");
  background-size: 30px 30px;
  background-repeat: no-repeat;
  -webkit-appearance: button;
  cursor: pointer;
  outline:none; 
  z-index: 3000; 
}

#nav-mob-menu {
  position: absolute;
  left: 0;
  top: 40px;
  width: 100%;
  padding: 20px 20px 0 20px;
  display: none;
  background-color: #fff;
  z-index: 3000; 
}



#nav-inner {
  display: block;
  position: relative;
  float: right;
  margin: 0 70px 0 -20px;
}

#nav-mob ul,
#nav ul {
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0;
}


/** level 1 **/
#nav ul li {
  position: relative;
  float: left;
  padding: 0 5px;
  margin: 0 -40px 0 0;
  line-height: 24px;
}

#nav-bob ul li {

}

#nav ul li a {
  z-index: 20;
  position: relative;
  display: block;
  float: left;
  padding: 0;
  font-size: 14px;
  color: #5D5D5D;
  text-decoration: none;
}


#nav-mob ul li a {
  position: relative;
  display: block;
  padding: 10px 0;
  font-size: 28px;
  text-decoration: none;
  border-bottom: 1px solid #1BADCF; 
}

#nav ul li a span:hover {
  color: #1BADCF;
}

/** background **/

#nav ul li a span {
  float: left;
  overflow: hidden;
}

#nav ul li a .lt { 
  height: 24px;
  width: 26px;
  background: url("../images/bg_nav.png") no-repeat scroll left top transparent;
  background-size: auto 200%;   
}

#nav ul li a .ct { 
  height: 24px;
  background: url("../images/bg_nav.png") no-repeat scroll center top transparent;
  width: 100px;
  text-align: center;
  background-size: 200% 200%;  
}

#nav ul li a .rt { 
  height: 24px;
  width: 26px;
  background: url("../images/bg_nav.png") no-repeat scroll right top transparent;
  background-size: auto 200%;   
}


#nav ul li a.active { color: #fff; z-index: 30; }
#nav ul li a.active span:hover { color: #fff; text-decoration: none; }
#nav ul li a.active .lt { background-position: left -25px; }
#nav ul li a.active .ct { background-position: center -25px; }
#nav ul li a.active .rt { background-position: right -25px; }


/** Untermenu **/

#subnav {
  position: relative;
  background: url("../images/bg_subnav.png") repeat-y;
  padding: 5px 10px;
}

#subnav a {
  color: #5D5D5D;
  margin: 0 10px 0 0;
  text-decoration: none;
}

#subnav a:hover {
  text-decoration: underline;
}

#subnav a.act {
  color: #1BADCF;
}
#subnav span { 
  color: #5D5D5D;
  text-align: center;
  margin: 0 5px 0 0;
}


#footer {
  position: relative;
  width: 100%;
  background: #1BADCF;  
  padding: 10px 0 0 0;
  text-align: center;
}

#footer-inner{
  width: 90%;
  text-align: center;
}

#address{
  position: relative;
}

#address p,
#address a,
#address {
  color: #fff;
  letter-spacing: 2px;
}

#footernav { margin: 10px 0; }
#footernav a { color: #fff; display: inline-block; margin: 0 20px; }

/** author **/
div#jssauthor {
  position: relative;
  float: right;
  line-height: 140%;
}

div#jssauthor a { color: #ccc; text-decoration: none; }
div#jssauthor a:hover { color: #fff; }

.csc-textpic-intext-right-nowrap .csc-textpic-text,
.csc-textpic-intext-right .csc-textpic-text {
  width: 40%;
}

.csc-textpic-intext-right-nowrap .csc-textpic-imagewrap,
.csc-textpic-intext-right .csc-textpic-imagewrap {
  width: 55%;
}

.csc-textpic-intext-right-nowrap .csc-textpic-imagewrap{
  margin-top: 42px;
}

.tx-felogin-pi1 h3 { display: none; }
.tx-felogin-pi1 div { display: none; }
.tx-felogin-pi1 form fieldset legend { display: none; }
.tx-felogin-pi1 form fieldset div { display: block; }
.tx-felogin-pi1 form fieldset { border: none; }

iframe{
  width: 100%;
}


/*************************************
 *  Viewport Anpassungen 
 *************************************/
@media screen and (max-width : 579px)  {
    .ce-gallery figure { display: block; }
    .ce-gallery .ce-row { margin: 0; }
    .ce-gallery .ce-column  { margin-bottom: 10px; width: 100%; }
}

/*************************************
 *  Navigation 
 *************************************/
@media screen and (min-width : 650px)  { 
  #nav {
    display: block;
  } 
  #nav-mob {
    /*display: none;*/
  } 

  div#inhalt-wrap {
    margin: 70px 0 10px 0;
  }
  
  #subnav {
    margin: 40px 0 -20px 0;
  }  

}
                
/*************************************
 *  Spalten Breite 
 *************************************/
@media screen and (min-width : 768px)  {
  div.inner {
    width: 750px;
  }
}

@media screen and (min-width : 992px)  {
  div.inner {
    width: 970px;
  }

  h2 { font-size: 22px; font-weight: bold; }
  
  div#content-links{
    position: relative;
    float: left;
    width: 36%;
    margin-right: 30px;
  }

  div#content-rechts{
    position: relative;
    float: left;
    width: 59%;
  }

  #nav ul li {
    line-height: 32px;
  }  

  #nav ul li a {
    font-size: 18px;
  }

  #nav ul li a .ct { 
    padding: 0;
    height: 31px;
    width: 140px;
    background-size: auto auto;   
  }
  
  #nav ul li a .lt { 
    padding: 0;
    height: 31px;
    width: 35px;
    background-size: auto auto;   
  }  
  
  #nav ul li a .rt { 
    padding: 0;
    height: 31px;
    width: 35px;
    background-size: auto auto;   
  }  

  #nav ul li a.active .lt { background-position: left -33px; }
  #nav ul li a.active .ct { background-position: center -33px; }
  #nav ul li a.active .rt { background-position: right -33px; }

  
}

@media screen and (min-width : 1200px)  {
  div.inner {
    width: 1170px;
  }
  
  div#content-links{
    margin-right: 50px;
  }  
  
  #nav-inner{
    margin-right: 0;
  }  
  
}
