


/*******************************
*
*  Ü B E R S C H R I F T E N
*
********************************/

h1, h2, h3 {
  padding:0;
  font-family: "open_sansbold", arial, sans-serif;
  font-weight: normal;
}


p {
  margin:.4em 0 .8em 0;
  padding:0;
}


h1 {
  margin: 40px 0 10px 0;
  font-size: 18pt;
}

h2 {
  margin: 40px 0 10px 0;
  font-size: 16pt;
}

h3 {
  margin: 30px 0 10px 0;
  font-size: 13pt;
}











/*******************************
*
*  B I L D E R
*
********************************/
.bild_rechts {
  float:right;
  margin: 10px 0 10px 20px;
  border: none;
}

.bild_links {
  float:left;
  margin: 10px 20px 10px 0;
  border: none;
}



div.bild_ganz {
  margin: 25px 0 25px 0;
  border: none;
  width: 100%;
}

div.bild_ganz img {
  width: 100%;
}

div.bild_ganz div.heading {
  margin-top: -3px;
  padding: 5px;
  background-color: #EEEEEE;
}




div.bild_halb {
  margin: 25px 0 25px 0;
  border: none;
  width: 49%;
  display: inline-block;
}

div.bild_halb img {
  width: 100%;
}

div.bild_halb div.heading {
  margin-top: -3px;
  padding: 5px;
  background-color: #EEEEEE;
}




/* kleiner als 750px */
/*====================*/
@media (max-width: 750px) {

  .bild_links {
    float: none;
    display: block;
    margin-top: 10px;
    margin-right: 0;
    margin-bottom: 10px;
    border: none;
  }

  .bild_rechts {
    float: none;
    display: block;
    margin: 10px 0;
    border: none;
  }

}



/* kleiner als 450px */
/*====================*/
@media (max-width: 450px) {

  .bild_links {
    float: none;
    display: block;
    width: 100%;
    margin-top: 10px;
    margin-right: 0;
    margin-bottom: 10px;
    border: none;
  }

  .bild_rechts {
    float: none;
    display: block;
    width: 100%;
    margin: 10px 0;
    border: none;
  }

}


/*******************************
*
*  Folding
*
********************************/
details {
  margin-bottom: 10px;
}

summary {
  cursor: pointer;
  font-weight: bold;
  color:#004191;
}
summary:hover {
  text-decoration: underline;
}



/*******************************
*
*  Links für Email
*  span für Telefon und Fax
*
********************************/
.telefon,span.telefon {
  background: url(/common/images/telefon.gif) no-repeat transparent left
  center;
  padding-left: 16px;
  padding-right: 3px;
}

.fax,span.fax {
  background: url(/common/images/fax.gif) no-repeat transparent left
  center;
  padding-left: 16px;
  padding-right: 3px;
}

a.email,a:visited.email,a:hover.email,a:active.email,.email {
  background: url(/common/images/mailtoicon.gif) no-repeat transparent
  left center;
  padding-left: 16px;
  padding-right: 3px;
}


a.pdf,a:visited.pdf,a:hover.pdf,a:active.pdf,.pdf {
  background: url(/common/images/file_pdf.gif) no-repeat transparent
  left center;
  padding-left: 16px;
  padding-right: 3px;
}




/*******************************
*
*  Navigations-Links
*
********************************/
a.navi, a:visited.navi, a:active.navi, a:hover.navi {
  background: url(/common/images/pfeil_navi.png) no-repeat transparent ;
  background-position:4px 2px;
  padding-left: 24px;
  padding-right: 2px;
  font-weight: bold;

}


a.back, a:visited.back, a:active.back, a:hover.back {
  background: url(/common/images/pfeil_back.png) no-repeat transparent ;
  background-position:4px 2px;
  padding-left: 24px;
  padding-right: 2px;
  font-weight: bold;
}




/*******************************
*
*  Farbe Boxen
*
********************************/
.fehler
{
  background-color:#F5A9A9;
  border:2px solid red;
  padding:5px;
}

.info
{
  background-color:#dedede;
  border:2px solid #666666;
  padding:5px;
}

.bestaetigung
{
  background-color:#A9F5A9;
  border:2px solid green;
  padding:5px;
}








/*******************************
*
*  S P A L T E N
*
********************************/
.spalten_wrapper {
  display: flex;
  flex-flow: wrap row;

  clear:both;
  float:left;
  width:100%;

  margin-bottom: 0;
}


.spalten_wrapper div.spalte_eins
{
  flex: 1 1 0;
  vertical-align: top;

  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 5px;
}

.spalten_wrapper div.spalte_zwei
{
  flex: 2 1 0;
  vertical-align: top;

  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 5px;
}


.spalten_wrapper div.spalte_drei
{
  flex: 3 1 0;
  vertical-align: top;

  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 5px;
}


.spalten_wrapper div.spalte_vier
{
  flex: 4 1 0;
  vertical-align: top;

  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 5px;
}

.spalten_wrapper div.spalte_fuenf
{
  flex: 5 1 0;
  vertical-align: top;

  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 5px;
}






/*******************************
*
*  K A C H E L N
*
********************************/


.kachel_wrapper
{
  width: 100%;
  display: flex;
  flex-flow: wrap row;
}


.kachel_eins
{
  flex: 1 1 750px;

  margin: 10px;
  text-align: center;

  display: flex;
  background-color: #187200;
}

.kachel_zwei
{
  flex: 1 1 375px;

  margin: 10px;
  text-align: center;

  display: flex;
  background-color: #187200;
}

.kachel_drei
{
  flex: 1 1 250px;

  margin: 10px;
  text-align: center;

  display: flex;
  background-color: #187200;
}

.kachel_vier
{
  flex: 1 1 188px;

  margin: 10px;
  text-align: center;

  display: flex;
  background-color: #187200;
}



.kachel_box
{
  width: 100%;
}


.kachel_link {
  display: block;
  height: 100%;
  width: 100%;
}


.kachel_bild {
  width: 100%;
  height: 250px;
  background: #187200 url(/common/images/quad.gif)  no-repeat center center;
}


.kacheltext {
  width: 100%;
  text-align: center;
  margin: 0;
}


.kachel_text h2 {
  font-size: 15pt;
  margin: 0;
  padding: 7px 7px 7px 10px;
  color: #fff;
  background-color: #187200;
}












/*******************************
*
*  S P E Z I E L L E   A N W E N D U N G E N
* ============================================
*
********************************/




.session_head
{
  background-color:#dedede;
  border:2px solid #666666;
  padding:20px;
}

.session_head h2
{
  margin: 10px 0 10px 0;
}

.session_body
{
  background-color:#fff;
  border:2px solid #666666;
  border-top: 0;
  padding:20px;
  padding-top: 10px;
}

div.faussen {
  display: block;
  vertical-align: top;
  margin-bottom: 20px;
}






.navi_wrapper {
  display: flex;
  flex-flow: wrap row;

  clear:both;
  float:left;
  width:100%;

  margin-bottom: 0;
}


.navi_wrapper div.navibox
{
  flex: 1 1 0;

  margin-top: 20px;
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 5px;

  border:2px solid #666666;
  text-align: center;
  vertical-align: center;
}





.day_wrapper {
  display: flex;
  flex-flow: wrap row;

  clear:both;
  float:left;
  width:100%;

  margin-bottom: 40px;
}


div.day {
  flex: 0 1 500px;

  vertical-align: top;
  margin-bottom: 5px;
  margin-right: 10px;
  padding-top: 5px;
  border:2px solid #666666;
  text-align: center;
}

div.day2 {
  flex: 0 1 400px;

  vertical-align: top;
  margin-bottom: 5px;
  margin-right: 10px;
  padding-top: 5px;
  border:2px solid #666666;
  text-align: center;
}

div.session {
  display: inline-block;
  width: 18%;
  margin-top: 5px;
  margin-right: 5px;
  padding-top: 3px;
  padding-bottom: 3px;

  vertical-align: top;
  overflow: hidden;
  background-color:#dedede;
  text-align: center;
}

div.active {
  display: inline-block;
  width: 18%;
  margin-top: 5px;
  margin-right: 5px;
  padding-top: 3px;
  padding-bottom: 3px;

  vertical-align: top;
  overflow: hidden;
  background-color:#00BEFF;
  text-align: center;
}



div.session2 {
  display: inline-block;
  width: 23%;
  margin-top: 5px;
  margin-right: 5px;
  padding-top: 3px;
  padding-bottom: 3px;

  vertical-align: top;
  overflow: hidden;
  background-color:#dedede;
  text-align: center;
}

div.active2 {
  display: inline-block;
  width: 23%;
  margin-top: 5px;
  margin-right: 5px;
  padding-top: 3px;
  padding-bottom: 3px;

  vertical-align: top;
  overflow: hidden;
  background-color:#00BEFF;
  text-align: center;
}




div.floor {
  display: inline-block;
  width: 100%;
  margin-top: 5px;
  margin-right: 0;
  padding-top: 3px;
  padding-bottom: 3px;

  vertical-align: top;
  overflow: hidden;
  background-color:#dedede;
  text-align: center;
}

div.floor_active {
  display: inline-block;
  width: 100%;
  margin-top: 5px;
  margin-right: 0;
  padding-top: 3px;
  padding-bottom: 3px;

  vertical-align: top;
  overflow: hidden;
  background-color:#00BEFF;
  text-align: center;
}



div.maps {
  flex: 0 1 140px;

  vertical-align: top;
  margin-bottom: 5px;
  margin-right: 5px;
  padding-top: 5px;
  border:2px solid #666666;
  text-align: center;
}






/* Tabelleformatierung mit grauem Hintergrund */
table.program {
  border-width: 1px 1px 0px 0px;
  border-spacing: 0px;
  border-style: solid;
  border-color: #d0d0d0;
  border-collapse: separate;
  background-color: white;
}

table.program th {
  width: 20%;
  border-width: 0px 0px 1px 1px;
  padding: 5px;
  border-style: solid;
  background-color: #f0f0f0;
  border-color: #d0d0d0;
  /*color: #666;*/
  text-align: center;
  border-bottom: solid 1px #c0c0c0;
}

table.program th.time {
  width: 10%;
}

table.program td {
  border-width: 0px 0px 1px 1px;
  padding: 5px;
  border-style: solid;
  border-color: #d0d0d0;
  /*color: #666;*/
  vertical-align: middle;
  text-align: center;
}

table.program td.grey {
  background-color: #f0f0f0;
}


/*******************************
*
*  Registration
*
********************************/
#div_bb_yes
{
  background-color:#dedede;
  border:2px solid #666666;
  padding:8px;
  margin: 20px;
}

#div_bb_no
{
  background-color:#dedede;
  border:2px solid #666666;
  padding:8px;
  margin: 20px;
}



#BB_yes ~ #div_gacm_yes {
  visibility: hidden;
  height: 0px;
  margin: 0px;
}

#GACM_yes:checked ~ #div_gacm_yes {
  visibility: visible;
  height: auto;
  margin: 20px;
}



#GACM_no ~ #div_gacm_no {
  visibility: hidden;
  height: 0px;
  margin: 0px;
}

#GACM_no:checked ~ #div_gacm_no {
  visibility: visible;
  height: auto;
  margin: 20px;
}



#banquet_yes
{
  position: relative;
  left: 0;
}


#vegetarian_yes
{
  position: relative;
  left: 0;
}



#fee
{
  font-weight: bold;
}

.div_fee
{
  background-color:#dedede;
  border:2px solid #666666;
  padding:8px;
  margin: 20px 0 20px 0;
}


.div_fee p
{
  margin: 0;
}


.details
{
  margin: 10px 10px 10px 10px;
}





/*******************************
*
*  O S M   K A R T E N
*
********************************/
#map {
  position: relative;
  z-index: 1;
  height: 450px;
  margin-left: 20px;
  margin-right: 20px;
  padding: 20px;
}


#mapAccomodation1{
  position: relative;
  z-index: 1;
  height: 600px;
  margin-left: 20px;
  margin-right: 20px;
  padding: 20px;
}

#mapAccomodation2{
  position: relative;
  z-index: 1;
  height: 600px;
  margin-left: 20px;
  margin-right: 20px;
  padding: 20px;
}


#osm {
  font-size: 0.7em;
  font-style: italic;
  margin-bottom: 20px;
}






/*******************************
*
*  F I E L D S E T
*
********************************/

fieldset
{
  margin-top:15px;
  margin-bottom:15px;
  padding: 20px;
}


fieldset legend
{
  font-weight:bold;
  padding-right:10px;
  padding-left:10px;
  color:#004191;
}



.required
{
  color: red;
}




.form_suche {
  width: 100%;
}

.form_text {
  width: 500px;
}
.form_text_small {
  width: 100px;
}
.form_text_tiny {
  width: 50px;
}
.form_area {
  width:  500px;
  height: 180px;
}

.form_check {
  position: relative;
  left: 0px;
  display: inline;
}
#text a.back, #text a:visited.back, #text a:active.back, #text a:hover.back {
  background: url(/common_images/pfeil_back.png) no-repeat transparent ;
  background-position:4px 2px;
  padding-left: 24px;
  padding-right: 2px;
}



/**********************************************
*  Admin Menu
***********************************************/

#adminmenu {
  margin-bottom: 20px;
  padding-top: 5px;
  padding-bottom: 5px;
  background-color: #dddddd;
}


#adminmenu ul.adminmenu2 {
  list-style-type: none;
  border-right: none;
  display: inline;
  padding: 0px 5px 0px 5px;
  line-height: 1.4em;
  margin-left: 0px;
}

#adminmenu .adminmenu2 li {
  list-style-type: none;
  border-right: 1px solid #3E4662;
  display: inline;
  padding: 0px 5px 0px 5px;
  line-height: 1.4em;
  margin-left: 0px;
}
