/*-------------------------------------------------*/
/* =  GFX - Hintergründe
/*-------------------------------------------------*/

/*--> Opertaion <--*/
.op-hg{
  background: url(/files/myFiles/gfx/page/background/operation.png) no-repeat;
  background-size: cover
}

/*--> Anzeichnen <--*/
.anzeichnen-hg{
  background: url(/files/myFiles/gfx/page/background/anzeichnen.png) no-repeat;
  background-size: auto;
  background-position-y: -200px;
  background-repeat: repeat-y
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
  .anzeichnen-hg{
    background-position-y: top;
    background-repeat: repeat-y;
    background-size: cover;
  }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
  .anzeichnen-hg{
    background-position-y: top;
    background-repeat: repeat-y;
    background-size: cover;
  }
}


/*-------------------------------------------------*/
/* =  Programm
/*-------------------------------------------------*/

i.titel-icon {
  font-size: 1.3rem !important;
  padding-right: 10px !important;
  position: relative !important;
  top: -2px !important;
}

.p-hinweis-gelb {
  padding:2px 6px 2px 6px;
  display: inline-block;
  box-sizing: border-box;
  border-radius: 5px;
  background-color: #FFE449;
  font-size: 1.1rem;
  font-weight: 400;
  color: #000;
  border: 1px solid #666666;
}

.p-hinweis-gruen {
  padding:2px 6px 2px 6px;
  display: inline-block;
  box-sizing: border-box;
  border-radius: 5px;
  background-color: #00a240;
  font-size: 1.1rem;
  font-weight: 400;
  color: #fff;
  border: 1px solid #666666;
}

.p-hinweis-gruen-2 {
  padding:2px 6px 2px 6px;
  display: inline-block;
  box-sizing: border-box;
  border-radius: 0px;
  background-color: #00a240;
  font-size: 1.1rem;
  font-weight: 400;
  color: #fff;
  border-top: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

.hinweis-drehen {
  -moz-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  -o-transform: rotate(-5deg);
  -webkit-transform: rotate(-5deg);
  transform: rotate(-5deg);
}

.p-marker::before {
  font-family: "Font Awesome 6 Pro";
  padding-right: 5px;
  font-size: 100%;
  font-weight: 900;
  content: '\f0da';
  display: inline-block;
  color: #57a498
}

.p-marker-gruen::before {
  font-family: "Font Awesome 6 Pro";
  padding-right: 5px;
  font-size: 100%;
  font-weight: 900;
  content: '\f0da';
  display: inline-block;
  color: #3cb12b
}



.p-time {
  font-family: 'Lato';
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05rem;
  width: 110px;
  color: #57a498;
  position: relative;
  top: -3px;
}

.p-titel{
  font-size: 1.2rem;
  font-weight: 500;
  /*color: #333333;*/

}

.p-titel-overlay{
  font-size: 1.2rem;
  font-weight: 500;
  /*color: #333333;*/
}

.p-unter-titel{
  font-size: 1.1rem;
  font-weight: 400;
  color: #666666;
}

.p-person{
  font-size: 1.1rem;
  font-weight: 300;
  /*padding: 0px 10px 0px 10px;*/
  color: #555555;
}


.p-chair {
  font-size: 1.2rem;
  font-weight: 300;
  border-top: 1px solid #abc715 ;
  border-bottom: 1px solid #abc715 ;
  padding: 5px 5px 5px 5px;
  display: inline-block;
}

.p-chair::before
{
  font-family: "Font Awesome 6 Pro";
  padding-right: 10px;
  font-size: 100%;
  font-weight: 500;
  content: '\f51c';
  display: inline-block;
  color: #abc715
}

.p-break {
  font-size: 1.2rem;
  font-weight: 300;
  border-top: 2px dotted #abc715 ;
  border-bottom: 2px dotted #abc715 ;
  padding: 8px 5px 5px 5px;
  display: block;
  width: 90%;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
  .p-break {
    width: 100%;
  }
}
/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
  .p-break {
    width: 80%;
  }
}



.p-text-1
{
  font-size: 1.1rem;
  font-weight: 300;
  color: #000;
}


.kTitel{
  font-size: 1.2rem;
  font-weight: 400;
  /*padding: 0px 10px 0px 10px;*/
  color: #666666;
}

.kPerson{
  font-size: 1rem;
  font-weight: 400;
  /*padding: 0px 10px 0px 10px;*/
  color: #787878;
}


.pTitel{
  font-size: 1.2rem;
  font-weight: 400;
  padding: 10px 10px 0px 10px;
  color: #333333;
}

.pTitel-2{
  font-size: 1.2rem;
  font-weight: 400;
  padding: 0px 10px 0px 10px;
  color: #787878;
}

.pTitel-3{
  font-size: 1.2rem;
  font-weight: 400;
  padding: 10px 10px 0px 0px;
  color: #000000;
}

.pTitel-4{
  font-size: 1.2rem;
  font-weight: 400;
  padding: 10px 10px 0px 10px;
  color: #000;
}


.pUnterTitel{
  font-size: 1.1rem;
  font-weight: 400;
  padding: 0px 10px 0px 0px;
  color: #000000;
}

.pText{
  font-size: 1.15rem;
  font-weight: 400;
  padding: 0px 10px 0px 10px;
  color: #787878;
}

.pText-2{
  font-size: 1.15rem;
  font-weight: 400;
  padding: 0px 10px 0px 0px;
  color: #787878;
}

.pPerson{
  font-size: 1rem;
  font-weight: 400;
  padding: 0px 10px 0px 10px;
  color: #000000;
}

.pUnterPerson{
  font-size: 1rem;
  font-weight: 400;
  padding: 0px 10px 0px 0px;
  color: #5a5a5a;
}

.pPerson-Moderation{
  font-size: 1rem;
  font-weight: 300;
  padding: 0px 10px 0px 10px;
  color: #000000;
}

/*-------------------------------------------------*/
/* =  IMG - Grössen
/*-------------------------------------------------*/
img {
  border-style: none;
}

.h20-image {
  max-width: 100%;
  height: 20px !important;
}

.h25-image {
  max-width: 100%;
  height: 25px !important;

}

.h30-image {
  max-width: 100%;
  max-height: 30px !important;
}

.h35-image {
  max-width: 100%;
  max-height: 35px !important;
}

.h40-image {
  max-width: 100%;
  max-height: 40px !important;
}

.h45-image {
  max-width: 100%;
  max-height: 45px !important;
}

.h50-image {
  max-width: 100%;
  max-height: 50px !important;
}

.h60-image {
  max-width: 100%;
  max-height: 60px !important;
}
/*
 *=========================================*
   Programmnavi
 *=========================================*
*/

.sticky {
  position: fixed;
  top: 0;
}

#programm-navi {
  margin: 0px 15px 20px 15px;
  height: 40px;
  display: flex; /* Setzt das Layout auf Flexbox */
  /* width: calc(100% - 32px); Nimmt die gesamte Breite des Seiteninhalts ein */
  align-items: center; /* Zentriert die Inhalte vertikal */
  background-color: #fff; /* Hintergrundfarbe (optional) */
  color: #888;
  flex-wrap: wrap; /* Erlaubt Umbruch bei kleinen Bildschirmen */
  z-index: 999;

}

#programm-navi .time {
  color: #fff;
  background-color: #7eb676;
  font-size: 18px;
  width: 210px; /* Feste Breite für die Zeitanzeige */
  text-align: center; /* Zentriert den Text */
  height: 43px;
  padding: 7px;
}

#programm-navi .time::before {
  font-family: 'Font Awesome 6 Pro';
  padding-right: 10px;
  font-size: 110%;
  font-weight: 300;
  content: '\f2e1';
  display: inline-block;
  position: relative;
  top: 2px;
}

#programm-navi .navi {
  flex: 1; /* Füllt den restlichen Platz gleichmäßig aus */
}

#programm-navi .navi ul {
  display: flex; /* Setzt die Navigationselemente nebeneinander */
  /* gap: 15px;          Abstand zwischen den Links */
  list-style: none; /* Entfernt die Bullet Points */
  padding: 0;
  margin: 0;
  flex-wrap: wrap; /* Erlaubt Umbruch bei kleinen Bildschirmen */
  border: 1px solid #e8e8e9;
  background-color: #fff;
}

#programm-navi .navi ul li {
  flex: 1; /* Jeder Menüpunkt nimmt den gleichen Platz ein */
  border-right: 1px solid #e8e8e9;;
  overflow: hidden;
}

#programm-navi .navi li:last-child {
  border-right: none;
}

#programm-navi .navi ul li a {
  text-decoration: none; /* Entfernt die Unterstreichung */
  font-size: 16px;
  padding: 8px 9px;
  height: 100%;
  display: block; /* Macht den gesamten Bereich klickbar */
  text-align: center; /* Zentriert den Text */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#programm-navi .navi li a:hover:not(.active) {
  background-color: #e8e8e9;;
}

#programm-navi .navi li a.active {
  color: white;
  background-color: #04aa6d;
}

/* Responsive Anpassung für kleinere Bildschirme */
@media (max-width: 768px) {
  #programm-navi {
    display: none;
    /*flex-direction: column;  Stapelt die Elemente untereinander */
    text-align: left;
    background-color: transparent;
  }

  .time {
    width: 100%; /* Zeitanzeige nimmt die volle Breite ein */
  }

  .navi {
    display: none;
    width: 100%; /* Navigation ebenfalls volle Breite */
    justify-content: center;
  }

  .navi ul {
    flex-direction: column; /* Links untereinander anzeigen */
    gap: 10px;
  }

  .navi ul li {
    flex: none;
    width: 100%; /* Volle Breite für jeden Menüpunkt */
  }
}

/*
 *=========================================*
   Sonstiges
 *=========================================*
*/
.clearfix::after {
  content: '';
  clear: both;
  display: table;
}

.inl {
  display: inline-block;
}

/*------- Slido ------*/
.slido {
  margin-bottom: 2px;
}
.slido::before, .slido::after {
  content: ' ';
  display: table;
}
.slido::after {
  clear: both;
}
.slido .col-1 {
  float: left;
  padding-right:20px;
}
.slido .col-2 {
  overflow: hidden;
  width: 100px;
}


/*------- Referenten ------*/
.referent {
  margin-bottom: 2px;
}
.referent::before, .referent::after {
  content: ' ';
  display: table;
}
.referent::after {
  clear: both;
}
.referent .col-1 {
  float: left;
}
.referent .col-2 {
  overflow: hidden;
}

/*
 *=========================================*
   Boxen
 *=========================================*
*/

.info-line {
  padding: 3px 7px 0px 7px;
  width: auto;
  height: auto;
  display: inline-block;
}

#info-box {
  padding: 5px 10px 5px 10px;
  width: auto;
  height: auto;
  display: inline-block;
  border: 1px solid #57a498;
}

#info-box.line-1 {
}

/*------- Hotel ------*/
.hotel-link {
 }

.hotel-link a img{
  max-height: 100px;
  background-repeat: no-repeat;
  border: 1px solid #DEDEDE;
  padding:10px;
  display: inline-block;
}

.hotel-link a:hover img{
  border-color:  #057caf;

}

.hotel-link a::after {
  font-family: "Font Awesome 6 Pro";
  position: relative;
  padding: 0px 6px 0px 5px;
  font-size: 70%;
  font-weight: 100;
  content: '\f0ac';
  display: inline-block;
  top: 27px;
  background-color: #DEDEDE;
}


.hotel-link a:hover::after {
  background-color:  #057caf;
  color: #ffffff
}



#hotel.box {
  background-color: #8F8F8F;
  display: flex;
  flex-wrap: wrap; /* Ermöglicht das Umbruchverhalten */
  width: 100%;
}

#hotel.box .column {
  flex: 1;

}

#hotel.box .column.picture{
  background-color: #ffffff;
  padding:10px;
  border: 1px solid #8F8F8F;
}

#hotel.box .picture img{
}

#hotel.box .column.content{
  background-color: #ffffff;
  border-top: 1px solid #8F8F8F;
  border-right: 1px solid #8F8F8F;
  border-bottom: 1px solid #8F8F8F;
}

#hotel.box .content{
  padding:10px;
}

#hotel.box .column.content{
  background-color: #ffffff;
  border-top: 1px solid #8F8F8F;
  border-right: 1px solid #8F8F8F;
  border-bottom: 1px solid #8F8F8F;
}

#hotel.kontingent {
  background-color: #F7F7F7;
  border-left: 1px solid #8F8F8F;
  border-right: 1px solid #8F8F8F;
  border-bottom: 1px solid #8F8F8F;
}

#hotel .buchung {
  padding:20px;
}

#hotel .buchung.en {
}

#hotel .buchung.de {
    position: relative;
}

#hotel .buchung.de::before {
  content: '';
  position: absolute;
  background-color: #8F8F8F;
  width: 1px;
  height: 85%;
  bottom: 7.3%;
  left: 0px;
}

#hotel.kontingent .trenner {

}


/* Ab 768px werden die Spalten untereinander angeordnet */
@media (max-width: 768px) {
  #hotel.box {
      flex-direction: column;
    }

  #hotel.box .column.content{
    background-color: #ffffff;
    border-top: none;
    border-left: 1px solid #8F8F8F;
    border-right: 1px solid #8F8F8F;
    border-bottom: 1px solid #8F8F8F;
  }

  #hotel .buchung.de::before {
    width: 0px;

  }
}

#hotel.box .picture{

}

#hotel.box .content{
  background-color: #ffffff;
  border-top: 1px solid #8F8F8F;
  border-right: 1px solid #8F8F8F;
  border-bottom: 1px solid #8F8F8F;
}

/*------- Hotelempfehlungen  ------*/
#empfehlungen.hotels .headline {
  color: #7eb676
}

#empfehlungen.hotels .link a {
  color: #057caf
}

#empfehlungen.hotels .link a::before {
  background-color: #057caf
}

/*------- Anfahrt ------*/
#anfahrt.box-link a.cboxElement img {
  filter: grayscale(80%) brightness(100%);
}

#anfahrt.box-link .image_container {
  margin-bottom: 0px !important;
}

#anfahrt.box-link .inside {
  padding: 15px !important;
}

#anfahrt.box-link .bannertext {
  top: 33px;
  background-color: #57a498 !important;
  color: rgb(255, 255, 255);
  text-align: center;
  font-size: 15px;
}


#anfahrt.googlemaps{
  width: 100%;
  display: inline-block;
  padding: 7px 7px 0px 7px;
  border: 1px solid #DEDEDE;

}

#anfahrt.googlemaps iframe {
  width: 100%;
  height: 300px;
}


/*
 *=========================================*
   Liste
 *=========================================*
*/


#anfahrt .liste {
  margin-bottom: 2px;
}
#anfahrt .liste::before, #anfahrt .liste::after {
  content: ' ';
  display: table;
}
#anfahrt .liste::after {
  clear: both;
}
#anfahrt .liste .col-1 {
  float: left;
}
#anfahrt .liste .col-2 {
  overflow: hidden;
}


/*
 *=========================================*
   Anmeldung
 *=========================================*
*/

#anmeldung {
  background-color: #F5F5F5;
}

#anmeldung .headline{
  padding: 20px;
  background-color: #3cb12b;
  color:#ffffff
}

#anmeldung .content{
  padding: 20px;
}

#anmeldung  .registration {
  display: flex;
  align-items: center; /* Vertikal zentrieren */
  justify-content: center; /* Optional: Horizontal zentrieren */
  width: 100%;
}

/*
 *=========================================*
   Drehungen
 *=========================================*
*/

.rotation-r {
  -moz-transform: rotate(10deg);
  -webkit-transform: rotate(10deg);
  -o-transform: rotate(10deg);
  -ms-transform: rotate(10deg);
  transform: rotate(10deg);
}

.rotation-l {
  -moz-transform: rotate(350deg);
  -webkit-transform: rotate(350deg);
  -o-transform: rotate(350deg);
  -ms-transform: rotate(350deg);
  transform: rotate(350deg);
}

/*
 *=========================================*
   Trenlinien
 *=========================================*
*/

.divider {
  position: relative;
  height: auto;
  width: 100%;
  display: inline-block;
  text-align: center;
}


 .divider .mix-1 span {
  background: #57a498;
  display: inline-block;
  margin-right: 6px;
  width: 5px;
  height: 5px;
  border-radius: 5px;
}


a.Download {
  text-decoration: none;
  font-style: normal;
  font-variant: normal;
  font-weight: 300;
  font-size: 13px;
  font-size-adjust: none;
  font-stretch: normal;
  display: inline-block;
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease-out;
  transition-delay: 0s;
  padding: 5px 10px 2px 10px;
  text-transform: uppercase;
  height: auto;
  //line-height: 36px;
  color: #666;
  background-color: #e8e8e9;
  background-image: none;
  background-repeat: repeat;
  background-attachment: scroll;
  background-position: 0% 0%;
  background-clip: border-box;
  background-origin: padding-box;
  background-size: auto auto;
  letter-spacing: 1px;
  border-radius: 3px;
}

a.Download:hover {
  color: #ffffff;
  background-color: #666;
  background-image: none;
  background-repeat: repeat;
  background-attachment: scroll;
  background-position: 0% 0%;
  background-clip: border-box;
  background-origin: padding-box;
  background-size: auto auto;
}


/*
 *=========================================*
   Mehrspaltig
 *=========================================*
*/

.zweispaltig {
  columns: 2 30rem;
  /*column-rule: medium dotted gold;*/
  -webkit-hyphens: auto;
  hyphens: auto;
}