

/*---------------------------------------------------------------------------------------------*/
/*                                          HOTELSEITE					       
/*---------------------------------------------------------------------------------------------*/

@font-face {
   font-family: 'biro-script-plus';
   src: url('/sys/ttf/biro-script-plus.ttf');
   font-weight: 100;
   font-style: normal;
}
@font-face {
   font-family: 'Versailles';
   src: url('/sys/ttf/Versailles.ttf');
   font-weight: 100;
   font-style: normal;
}





body {
    font-family: 'Montserrat-Light'; 
    background-color: #efecec;
    background: linear-gradient(rgba(244,240,238,1) 0%, rgba(255,255,255,1) 80%);   
    max-width: 2700px; margin-left: auto; margin-right: auto;
} 
h1 {font-family: 'LyonDisplay-Light'; color: #545454;}
h2 {font-family: 'LyonDisplay-Light'; color: #545454; }
h3 {font-family: 'LyonDisplay-Light'; color: #545454; padding: 0; margin: 0; font-weight: normal;}
h4 {padding: 0; margin: 0; padding-bottom: 10px; padding-top: 30px; clear: left;}

.fa-star {letter-spacing: 5px;}
.btn2 {font-size: 12px;}

/*--- Enable Icon für Searchliste */
#xxhead066 {display: block;}

ul  { list-style: "-  ";}

.xxnew p {  margin-left: 15px; font-size: 30px; padding-top: 10px;}



/* ********************************************************** hvrooms */

/* Grundwerte – bei Bedarf zentral anpassen */
:root {
  --z-gap: 2px;                   /* Abstand zwischen Karten */
  --z-arrow-size: 50px;           /* Button-Größe */
  --z-arrow-offset: -80px;        /* Abstand zum Rand */
}

/* Layout-Rahmen */
.hvrooms { position: relative; width: 80%; margin-left: auto; margin-right: auto; }

/* Pfeil-Container – links/rechts zentriert */
.hvleft, .hvright {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 15;
  display: flex;
}
.hvleft   { left:  var(--z-arrow-offset); }
.hvright  { right: var(--z-arrow-offset); }

/* Pfeil-Buttons – neutral, klickbar */
.hvprev, .hvnext {
  width: var(--z-arrow-size);
  height: var(--z-arrow-size);
  display: grid;
  place-items: center;
/*  border-radius: 9999px;*/
/*  border: 1px solid rgba(0,0,0,.12);*/
/*  background: rgba(255,255,255,.9);*/
/*  backdrop-filter: blur(6px);*/
  background-color: transparent;
  border: none;
  color: #3f3f3f;
  font-size: 30px; 
  cursor: pointer;
/*  box-shadow: 0 2px 8px rgba(0,0,0,.12);*/
}
.hvprev[disabled], .hvnext[disabled] {
  opacity: .4;
  cursor: default;
}

/* Der horizontale Track mit den Karten */
#hvrooms1 {
  display: flex;
  gap: var(--z-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  padding: 0 var(--z-gap); /* kleine Innenräume, damit erste/letzte Karte nicht am Rand klebt */
}

/* Scrollbar optisch ausblenden (behält trotzdem Funktion) */
#hvrooms1::-webkit-scrollbar { display: none; }
#hvrooms1 { scrollbar-width: none; }

/* Jede Karte: auf Desktop 3 sichtbar (flex-basis berechnet aus 100% minus 2 Gaps) */
.hvcolumn3 {
  flex: 0 0 calc((100% - 1 * var(--z-gap) ) / 3);   
  scroll-snap-align: center;
}

/* Karten-Inhalt: responsive Bild etc. */
.hvcontent { position: relative; border-radius: 0; 
            aspect-ratio: 22 / 29;   /* 880:1160 */
  overflow: clip;          /* besser als hidden gegen Anti-Aliasing-Flimmern */
}
.hvcontent img { display: block; width: 100%; height: auto; }

/* Optional: kleine Hover-Wirkung auf Desktop */
@media (hover:hover) and (pointer:fine) {
  .hvcontent { transition: transform .25s ease; }
/*  .hvcontent:hover { transform: translateY(-2px); }*/
}

/* Breakpoints – iPad portrait: 2 pro View, Phone: 1 pro View, Pfeile aus */
@media (max-width: 1000px) {
  .hvcolumn3 { flex: 0 0 calc((100% - var(--z-gap)) / 2.3); } 
  .hvrooms { width: 100%; }
  .hvleft, .hvright { display: none; } /* iPad portrait: swipen reicht */
}

@media (max-width: 600px) {
  .hvcolumn3 { flex: 0 0 calc((100% - 1 * var(--z-gap) ) / 1.5); } 
}

/* Sicherstellen, dass .zrow3 kein eigenes Layout erzwingt */
.hvrow3 { position: relative; }

/*.zpanels[hidden] { display: none; }

.zpanels {
  position: absolute; inset: 0;
  z-index: 10;
  background: rgba(0,0,0,.4);
  display: grid;
  place-items: center;
  padding: 24px;
}

.zpanel {
  width: min(100%, 980px);
  max-height: 90dvh;
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}

.zpanel:not(.is-active) { display: none; }

.zpanel-close {
  position: absolute; top: 12px; right: 12px;
  z-index: 11;
  width: 40px; height: 40px; border-radius: 999px;
  border: none; background: rgba(255,255,255,.9); cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.zpanel-close img {height: 30px; width: 30px;}*/
/* Pfeile bleiben wie gehabt. Sie liegen außerhalb .zpanels – ein Set genügt. */


/* Overlay wie gehabt */
/*.zpanels[hidden]{display:none;}
.zpanels{
  position:absolute; inset:0; z-index:10;
  background:rgba(0,0,0,.4);
  display:grid; place-items:center; padding:24px;
}

 Bühne bekommt eine feste Höhe über CSS-Variable, die wir per JS setzen 
.zstage{
  position:relative;
  width:min(100%, 980px);
  height:var(--panel-h, 70dvh);    Fallback: 70dvh 
}

 Panels sind gestapelt und füllen die Bühne zu 100% 
.zpanel{
  position:absolute; inset:0;
  display:block;
  height:100%;                      <- fixe Höhe 
  overflow:auto;                    Inhalt scrollt im Panel 
  background:#fff; border-radius:12px; padding:20px 20px 24px;
  box-shadow:0 20px 60px rgba(0,0,0,.25);

  opacity:0; transform:translateY(8px) scale(.995);
  transition:opacity .24s ease, transform .24s ease;
  pointer-events:none; will-change:opacity, transform;
}
.zpanel.is-active{ opacity:1; transform:none; pointer-events:auto; }

 Close-Button IM Panel (nicht mehr am Overlay) 
.zpanel .zpanel-close{
  position:absolute; top:12px; right:12px;
  width:40px; height:40px; border-radius:999px;
  border:0; background:rgba(255,255,255,.92);
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  cursor:pointer; z-index:2;
}

 optional: oben/unten 50px „Überstand“ visuell hervorheben 
.zpanel::after{
  content:""; position:absolute; left:0; right:0;
  top:-50px; bottom:-50px; pointer-events:none;
   nur Deko, falls du z. B. einen leichten Rand-Schatten willst 
}*/

/* Overlay über die ganze Viewport-Fläche */
.zpanels[hidden]{ display:none; }
/*.zpanels{
  position: fixed;               statt absolute 
  inset: 0;
  z-index: 10;
  background: rgba(0,0,0,0.2);
}*/
.zpanels{
  position: absolute;              /* statt absolute */
  height: 100%; 
  width: 100%;
  inset: 0;
  z-index: 10;
  background: transparent;   /* #e6e3e3;   */
}
.zpanelsVilla{background-color: rgba(255,255,255,.8);}

/* Bühne exakt platzieren: Breite fixiert, X-zentriert, Y per Variable */
.zstage{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(100%, 1400px);
  height: 100%;
  width: 100%;
/*  height: var(--panel-h, 70dvh);*/
/*top: var(--panel-top, 12px);   wird via JS gesetzt */
/*background-color: #ffffff; border-style: none; border-color: #ffffff;*/
}
.zstageVilla {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(100%, 1100px);
  height: 100%;
  width: 100%;
/*  height: var(--panel-h, 70dvh);
  top: var(--panel-top, 12px);   wird via JS gesetzt 
  background-color: transparent; border-style: none; border-color: #ffffff;*/
}

/* Panel füllt die Bühne */
.zpanel{
  position: absolute; inset: 0;
/*  overflow: auto;*/
  background-color: #ffffff; border-radius: 0; border-style: none; border-color: #ffffff;
  /*padding: 10px;*/ 
  /*box-shadow: 0 20px 60px rgba(0,0,0,.25);*/ 
  opacity: 0; transform: translateY(8px) scale(.995);
  transition: opacity .24s ease, transform .24s ease;
  pointer-events: none; border-style: none; border-color: #ffffff;
  height: 100%;
}
.zpanel.is-active{ opacity: 1; transform: none; pointer-events: auto; }

.zpanel{
  background-color: #e6e3e3; 
}

/* Close-Button im Panel */
.zpanel-close {
  position: absolute; top: 0; right: 0;
  border: 0; padding: 5px;
  cursor: pointer; z-index: 500; background-color: transparent;
}
.zpanel-close img {width: 30px; height: 30px; }

.zpanelVilla-close {
  position: absolute; top: 0; right: 0;
  border: 0; padding: 10px;
  cursor: pointer; z-index: 500; background-color: rgba(0,0,0,0.2);
}
.zpanelVilla-close:hover {background-color: #000000;}
.zpanelVilla-close img {width: 30px; height: 30px; }



/* Panel-Container: nie einen fetten Ring zeigen */
.zpanel:focus { outline: none; }

/* nur bei Tastatur (focus-visible) einen dezenten Ring */
/*.zpanel:focus-visible {
  outline: 2px solid rgba(0,0,0,.25);
  outline-offset: 4px;
  border-radius: 12px;
}*/

/* Buttons im Panel ebenfalls ordentlich */
.zpanel .zpanel-close:focus { outline: none; }
.zpanel .zpanel-close:focus-visible {
  outline: 2px solid rgba(0,0,0,.35);
  outline-offset: 2px;
  border-radius: 999px;
}

/* Pfeile/Dots im Bildbereich (falls fokussierbar) */
.rpanelimg .prev:focus,
.rpanelimg .next:focus { outline: none; }
.rpanelimg .prev:focus-visible,
.rpanelimg .next:focus-visible {
  outline: 2px solid rgba(0,0,0,.35);
  outline-offset: 2px;
  border-radius: 999px;
}

/* iOS Tap-Highlight unterdrücken (blauer Flash bei Tap) */
.zpanel, .zpanel * { -webkit-tap-highlight-color: transparent; }


/* ------------------------------------------------------------------------- */









@media (min-width: 2500px) {
  .zstageVilla { width: 80%;} 
}

@media (max-width: 2499px) {
  .zstageVilla { width: 70%; height: 100%;} 
}

@media (max-width: 2000px) {
  .zstage      { width: 100%; height: 100%;} 
  .zstageVilla { width: 70%; height: 100%;} 
}
@media (max-width: 1000px) {
  .zstageVilla { width: 100%;} 
  .zpanel-close { top: 505px; right: 10px;}
}

@media (max-width: 700px) {
  .zpanel-close { top: 360px; right: 10px;}
  .rpanelimg {height: 100%;}
  .zstage {width: 100%; height: 100%;}
}


/* #******************************************************************************************************************** */
/* ***                                         Hotel, Anschrift                                                      *** */
/* ********************************************************************************************************************* */
#h_image {
   margin-top: 0px; margin-left: 0px; margin-right: 0px; margin-bottom: 100px;
   position: relative;
   width: auto;
}
#h_image img {height: 100vh; width: 100%; object-fit: cover; }

#h_like {
   margin-top: -125px;
   padding-top: 10px;
   position: absolute; z-index: 1;
   width: 50px; height: 50px;
   right: 150px;
   background: #ffffff; 
   border-radius:50px 50px 50px 50px; opacity: 0.7; text-align: center;
}
#h_like i {font-size: 30px; }

#h_sterne { margin-left: 10%; font-Size: 12pt; z-index: 11111;}
#h_sterne i {letter-spacing: 5px; color: #545454;}

#h_name {
   margin-top: 15px;
   margin-left: 10%;
   color:#000000;
   font-Size:30pt;
   letter-spacing: 1px; color: #545454;
}
/* Villa Name */
#h_name h1 {
   margin-top: 50px;
   margin-left: 0;
   color: #545454;
   font-Size:30pt;
   font-weight: normal;
   letter-spacing: 3px;
}

#h_anschrift {
   margin-left: 10%; margin-top: -35px; margin-bottom: 40px;
   color:#000000;
   font-Size: 12px; letter-spacing: 1px;
   display: block;
}

/* #******************************************************************************************************************** */
/* ***                                         Hotel- /Villatypen                                                    *** */
/* ********************************************************************************************************************* */

#h_typdiv {
   margin-left: 10%; margin-bottom: 50px; 
}

.h_typ {
   width: 90px;
   margin-right: 5px; margin-top: 10px; 
}

/* #******************************************************************************************************************** */
/* ***                                         Villas Header                                                         *** */
/* ********************************************************************************************************************* */

/*#vheader {
  width: 100%;
  margin-left: 0; margin-right: 0; padding-left: 10%; 
  display: block; justify-content: flex-end;
  background-color: #e6e3e3;  
  border-bottom-color: #ffffff;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  height: 100px;
  padding-top: 15px; padding-right: 50px;
}

#vheader span {margin-right: 50px; }

.vico02     { font-Size: 14px; letter-spacing: 1px; }
.vico02 i   { color: #000000; font-Size: 12pt; width: 40px; margin-left: 0; }
.vico02 img { height: 22px; margin-left: 0; margin-right: 20px; padding-bottom: 5px; }*/

#vheader {
  display: flex;
  flex-wrap: wrap;             /* erlaubt Umbruch der Spans */
  justify-content: flex-end;     /* alles nach rechts schieben */
  align-items: center;
  background-color: #ede9e7;  
  border-bottom: 1px solid #ffffff;
  padding: 15px 50px 0 50px;
  height: auto;                /* Höhe nicht fest erzwingen */
}

#vheader span {
  display: inline-flex;        /* Icon + Text bleiben zusammen */
  align-items: center;
  white-space: nowrap;
  margin-left: 50px;          
/*  margin-right: 50px;*/      /* bei linksbündig */
  white-space: nowrap;         /* Icon + Text bleiben ungebrochen */
  margin-bottom: 10px;         /* optischer Abstand bei Umbruch */
}

.vico02 {
  font-size: 12px;
  letter-spacing: 1px;
}

.vico02 i {
  color: #000000;
  font-size: 12pt;
  margin-right: 8px;           /* etwas Abstand zwischen Icon & Text */
}

.vico02 img {
  height: 22px;
  margin-right: 8px;
  padding-bottom: 5px;
}

/* Mobile: zentriert bei schmalem Viewport */
@media (max-width: 1000px) {
  #vheader {justify-content: center; text-align: center; padding: 15px 5%; background-color: transparent;}
  #vheader span {margin: 5px 25px;}
}



/* #******************************************************************************************************************** */
/* ***                                         Collage                                                               *** */
/* ********************************************************************************************************************* */

#h_boxx { background-color: #f0edeb; padding-top: 80px; padding-bottom: 50px;}
#h_boxx { background-color: #ede9e7; padding-top: 80px; padding-bottom: 50px;}

#h_box0 { margin-left: 10%; margin-right: 20%;}

#h_box1 { 
   position: relative;
   z-index: 5;
   float: left; width: 45%; 
}

#hcollage {
   margin-bottom: 20px;
   text-align: left;
   vertical-align: top;
   font-size: 12pt;
   color: #000000;    
   margin-top: 0px;
   width: auto;
}

#hcollage img {width: 100%;}

.hpointer {cursor: pointer;}

/* #******************************************************************************************************************** */
/* ***                                         Hoteltext                                                             *** */
/* ********************************************************************************************************************* */

#hoteltext {
   text-align: justify;
   float: left; width: 55%; 
   background-color: transparent;
   margin: 0; 
   padding-top: 30px; padding-bottom: 0px; padding-right: 0px; padding-left: 120px;   
   font-Size: 13px;    display: block; 
   overflow-y: auto; line-height: 2; letter-spacing: 1px;
}

#hoteltext h3 { font-size: 40px; }
#hoteltext h4 { font-size: 22px;}

.tcenter { font-Size:16pt; font-weight: bold; padding-top: 30px; padding-bottom: 20px; text-align: center;}  


/* #******************************************************************************************************************** */
/* ***                                         Bildergalerie                                                         *** */
/* ********************************************************************************************************************* */

.toprightA00 {position: absolute; top: 0; right: 0; padding: 10px; z-index: 50; cursor: pointer; background-color: rgba(0,0,0,0.5);}
.toprightA00 img {height: 30px; width: 30px;}
.toprightA00:hover {background-color: #000000;}

#A00modal {
   position: fixed; top: 0; left: 0; z-index: 250; display: none;
   width: 100vw; height: 100%;
   overflow: auto;
   background-color: rgba(0,0,0,0.8);  
 }
 
.h_handyx { 
   margin-left: 0; margin-top: 10px; letter-spacing: 1px;
   position: relative;
   font-size: 10pt; 
   cursor: pointer; 
   text-align: left; 
   background-color: transparent;
   border: none; 
}
button.h_handyx { color: inherit; text-decoration: none;}

.h_handyx i       { margin-right: 15px; }
.h_handyx:focus   { outline: none; }
.h_handyx:visited { outline: none; }

/*--- Modal ---*/

#hgalerie00    { width: 100vw; z-index: 50; }

#hgalerie02 { 
  position: fixed; top: 50%; left: 50%; z-index: 250;  
  display: none;
  width: 1400px; 
/*  max-height: 800px;*/
  transform: translate(-50%, -45%);
  -ms-transform: translate(-50%, -45%);
  opacity: 1; transition: 0.8s;
  color: #ffffff; font-Size: 12px; letter-spacing: 1px; 
  padding: 0px 0px;
  cursor: pointer;
}

#hgalerie02 img { width: 100%; max-height: 70vh; object-fit: cover; z-index: 250;  }

.center {
   display: block;
   margin-left: auto;
   margin-right: auto;
}

.textcnt {
   color: #f2f2f2;
   font-size: 12px;
   padding: 8px 12px;
   position: absolute;
   top: 0;
}

.textw, .textb {
   color: #f2f2f2;
   font-size: 15px;
   padding: 8px 12px;
   position: absolute;
   bottom: 8px;
   width: 100%;
   text-align: center;
}
.textb {color: #020202;}

.dot00 { display: flex; justify-content: center;}
.dot01 { position: absolute; bottom: 5px; z-index: 5;}

.dot {
   cursor: pointer;
   height: 10px;
   width: 10px;
   margin: 0 1px;
   background-color: #bbb;
   border-radius: 50%;
   display: inline-block;
   transition: background-color 0.6s ease;
}
.dot:hover { background-color: #717171;}
.dot.active    { background-color: #717171;}

.prev, .next {
   cursor: pointer;
   position: absolute;
   top: 0;
   height: 100%;
   width: 50%;
   padding: 0;
   color: transparent;
   font-weight: bold;
   font-size: 18px;
   transition: 0.6s ease;
   border-radius: 0 3px 3px 0;
   user-select: none;
   text-align: center;  
   -webkit-tab-higlight-color: transparent;
}

.next { right: 0; border-radius: 3px 0 0 3px;}

.prev:hover, .next:hover { color: white; background-color: rgba(0,0,0,0);}

.A00prev, .A00next  {
   padding-top: 4px; padding-right: 18px; padding-bottom: 5px; padding-left: 18px;
   color: #ffffff;
   border-radius: 50%;
   border: solid 1px;
   font-size: 30px; 
   cursor: pointer;
   position: absolute;
   transition: 0.6s ease;
   top: 50%;
   margin-top: -20px;
}
.A00prev { left: -70px;}
.A00next { right: -70px;}


/* ********************************************************************************************************************* */
/* ***                                         ROOMS Overview                                                        *** */
/* ********************************************************************************************************************* */

.rooms001 h2 {
   /*font-family: 'gyre-termes';*/ 
   padding: 0; margin: 0; font-weight: normal; 
   margin: 200px auto 100px auto; 
   width: 100%;
   font-size: 3em;
   color: #545454;
   text-align: center;
   letter-spacing: 3px;
}

#vroomstext { position: relative; background-color: transparent; 
              margin-left: 20%; margin-right: 20%; margin-bottom: 100px;
              text-align: justify; line-height: 2;
              font-Size: 15px; letter-spacing: 1px;
}

.zrooms   { position: relative; background-color: transparent; overflow: hidden;}
.zmain    { position: relative; background-color: transparent; display: flex; justify-content: center; overflow: hidden;}

.zleft, .zright {width: 70px; position: relative; float: left; height: 580px; background-color: transparent; z-index: 15;}

.zleft i  {padding-right: 30px;}  
.zright i {padding-left:  20px;}

.zprev, .znext  {
   padding: 10px;
   background-color: transparent;
   border: none;
   color: #3f3f3f;
   font-size: 30px; 
   cursor: pointer;
   position: absolute;
   top: 250px;
   -webkit-tab-higlight-color: transparent;
} 

/*--------- 460px, 920px, 1380px, 1840px ---*/
.zrow3    { width: 1380px; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}
.zrow2    { width:  920px; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}
.zrow1    { width:    80%; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}

#zzrooms1 { position: relative; width: 44000px; transition: all 0.6s ease 0s; overflow: hidden;}

.zcolumn0 { width:   60%; margin-left: auto; margin-right: auto;}
.zcolumn1 { width:  100%; margin-left: 10px; margin-right: 10px; float: left;}
.zcolumn3 { width: 440px; margin-left: 1px; margin-right: 1px; float: left;}

.zcontent { height: 100%; position: relative; display: block; animation-name: fade; animation-duration: 1.5s;}
/*.zcontent img  { height: 580px; width: 440px; object-fit: cover; background-color: #bbbbbb; transition: 1s;}*/
.zcontent img  { height: 100%; object-fit: cover; background-color: #bbbbbb; transition: 1s;}

.zbg {
   position: absolute;
   top: 0; height: 100%; width: 100%;
   background-color: rgba(0,0,0,0.1);
}

/*.zname {
   position: absolute;
   top: 50%; left: 50%; transform: translate(-50%, -50%);
   width: 60%;
   padding-top: 10px;   
   font-size: 20px;
   text-align: center;
   background-color: transparent;
   color: #ffffff;
   cursor: pointer;
}*/
.zname {
   position: absolute;
   bottom: 20px; left: 20px;
   width: 90%;
   padding-top: 10px;   
   font-size: 18px;
   text-align: left;
   background-color: transparent;
   color: #ffffff;
   cursor: pointer;
}
.zname h3 {color: #ffffff; font-weight: normal; letter-spacing: 1px; font-size: 26px; }



/* Villa-Rooms-Name */
.vrname {
   position: absolute;
   left: 20px; bottom: 20px;
   width: 80%;
   padding-top: 10px;   
   font-size: 18px;
   text-transform: uppercase;
   text-align: left;
   background-color: transparent;
   color: #ffffff;
   cursor: pointer;
}
.vrname h3 {color: #ffffff; font-weight: normal; letter-spacing: 1px; font-size: 22px; }




.zpoint {
   cursor: pointer;
   position: absolute;
   top: 0;
   height: 100%;
   width: 100%;
   color: transparent;
   transition: 0.6s ease;
}

.zpoint:hover { background-color: rgba(0,0,0,0.3);}


/* ********************************************************************************************************************* */
/* ***                                         ROOMS Details                                                         *** */
/* ********************************************************************************************************************* */

.toprightR00 {position: absolute; top: 0; right: 0; padding: 10px; z-index:1000; }
.toprightR00 img {height: 30px; width: 30px;}
.toprightR00:hover { background-color: #aaaaaa; }

/*.raccordion {
   font-weight: normal;
   border: none;
   background-color: transparent;
   cursor: pointer;
   text-align: left;
   outline: none;
   font-size: 30px;
   transition: 1s;
}*/

.rpanels {
  position: absolute; top: 0;
  width: 100%; height: 100%;
  padding-top: 0px; padding-right: 0; 
  background-color: transparent;
/*  max-height: 600px;
  width: 70vw; margin-left: 15vw; margin-right: 15vw;*/
  overflow: hidden;
/*  transition: max-height 0.5s ease-out;*/
  z-index: 4; 
  display: none;
}
.rpanels.active {display: block;}

.rpanel {
  background-color: transparent;
  display: none;
  z-index: 4;
  height: 100%;
}
.rpanel.ractive {display:block;}

.vrpanel {
  width: 60%; margin-left: auto; margin-right: auto;  
  position: relative;
  padding: 0; 
  background-color: transparent;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
  z-index: 4;
}

.rpanelimg { width: 60%; height: 100%; position: relative; float: left;}
.rpanelimg img  { height: 100%; object-fit: cover;}
.vrpanelimg { width: 100%; height: 100%; float:left; position: relative;}
.vrpanelimg img  { object-fit: cover; height: 100%; }

.vrpanelimg.vrname {left: -100px;}

.xprev, .xnext {
  cursor: pointer;
  position: absolute;
  top: 50%;
  padding: 16px;
  margin-top: -35px;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

.xnext { right: 0; border-radius: 3px 0 0 3px;}

.rpaneltxt { 
   text-align: justify; 
   position: relative;
   width: 40%;
   float:left;
   background-color: #e6e3e3; 
   padding-top: 50px; padding-left: 80px; padding-right: 80px; padding-bottom: 20px; 
   overflow-y: auto;
   height: 100%;
   font-size: 12px; letter-spacing: 1px; line-height: 1.5;
}

.rpanelHead h3 {  letter-spacing: 1px; font-size: 30px; padding-bottom: 20px; text-align: left; }
.rpanelBody p  { letter-spacing: 1px; font-size: 12px; line-height: 2; margin-bottom: 50px;  }
.rpanelBody li { letter-spacing: 1px; font-size: 12px; line-height: 2; margin-left: -25px;  }

.h_zimmer_preis { font-size: 12px; margin-top: 20px;}
.h_zimmer_info  { font-size: 12px; margin-top: 30px; margin-bottom: 30px;}
.rzk2           { font-size: 10pt; margin-bottom: 30px;}

.zactive { opacity: 1;}
.ractive { background-color: transparent;}

/* #******************************************************************************************************************** */
/* ***                                         Zimmerausstattung / Hotelausstattung                                  *** */
/* ********************************************************************************************************************* */

.accordion {
   padding-top: 15px; padding-bottom: 15px; padding-left: 0px;
   margin-top: 50px; margin-right: 10%; margin-bottom: 3px; margin-left: 10%; 
   font-weight: normal;
   border: none;
   border-bottom: 0.5px solid #cccccc;
   background-color: transparent;
   cursor: pointer;
   width: 80%;
   text-align: left;
   outline: none;
   font-size: 25px;   
   transition: 1s;
   letter-spacing: 2px;
   color: inherit; text-decoration: none;
}
.accordion h2  { font-family: 'Montserrat-Light'; font-size: 23px; width: 98%; float: left; padding: 0; margin: 0; font-weight: normal; padding-bottom: 10px; letter-spacing: 1px; }
.accordion:focus   { outline: none;}
.accordion:visited { outline: none;}
.accactive, .accordion:hover { background-color: transparent;}

/* .accordion:after { content: "\002B"; font-size: 30px; float: right; margin-left: 50px;} */
/* .accactive:after { content: "\2212";} */


.panel {
  padding-top: 0px; padding-right: 10%; padding-bottom: 0px; padding-left: 10%;
  background-color: transparent;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
}

.hico00     { margin-top: 30px;}
.hico01     { width: 33.33%; float: left; font-Size:14pt; height: 50px;}
.hico02     { width: 50px; float:left;}
.hico02 i   { color:#606161; font-Size:12pt; width: 50px;  }
.hico02 img { height: 20px;}
.hico03     { font-Size: 15px; letter-spacing: 1px; padding-top: 3px;}


.hico02 .material-icons {text-align: center;}


.more-btn { display: none;}

/* #******************************************************************************************************************** */
/* ***                                         DINING                                                                *** */
/* ********************************************************************************************************************* */

:root {
  --dur: 400ms;
  --ease: linear; 
  /*--ease: cubic-bezier(.2,.65,.2,1);*/
  --overlay-bg: #e6e3e3; /* leerer Content-Bereich: weiß */
  --scrim: rgba(0,0,0,0.01); /* Abdunklung hinter der Panel-Fläche */
  --radius: 0;
}

/* body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial; background:#f7f7f8; } */

/* === Demo: gekachelte Bilder mit float:left === */
.tiles { width: 1500px; max-width: calc(100vw - 32px); margin: 24px auto; overflow: hidden; }
.tile { position: relative; float: left; width: 48%; height: 500px; margin: 1%; border-radius: var(--radius); overflow: hidden; background: transparent; cursor: zoom-in; display:none;}
.tile img { width: 100%; height: 100%; object-fit: cover;}
.tile h3 {position: absolute; bottom: 30px; left: 30px; width: fit-content; font-size: 30px; letter-spacing: 2px; text-align: left; color: #ffffff; border-bottom: 1px solid #ffffff;}
.tile.show {display:block;}

.bldots       {margin-top: 40px; text-align: center;}
.bldot        {position: relative; border-bottom: 1px solid #bbbbbb; width: 80px; height: 20px; margin: 5px; cursor: pointer; display: inline-block; 
              background-color: transparent; -webkit-tab-higlight-color: transparent; }
.bldot.active {border-bottom: 1px solid #000000; background: transparent !important; box-shadow: none !important;}

.bldot, .bldot * {-webkit-tap-highlight-color: rgba(0,0,0,0) !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;}

/* falls Safari trotzdem einen :active-Flash setzt */
.bldot:active, .bldot *:active {
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}




/* === Overlay: ein einziges, leeres DIV + Close-Button === */
.overlay-root { position: fixed; inset: 0; display:none; z-index: 2147483000; isolation: isolate; background-color: rgba(0,0,0,0); transition: background-color var(--dur) var(--ease); }
.overlay-root.active { display:block; }
/* Scrim als separates Element (fadet unabhängig vom Panel) */
.overlay-scrim { display: none !important;}

/* Das "leere" Panel, das sich aus dem angeklickten Bild heraus vergrößert */
.overlay-panel { position: fixed; top:0; left:0; width:100vw; height:100vh; background: var(--overlay-bg); border-radius: var(--radius); box-shadow: 0 24px 80px rgba(0,0,0,.35); 
                transform-origin: top left; z-index: 1; will-change: transform; }

/* .overlay-close { position:absolute; top:16px; right:16px; width:40px; height:40px; border:none; border-radius:999px; background: rgba(0,0,0,.08); cursor:pointer; display:grid; place-items:center; font-size:22px; }
/* .overlay-close:hover { background: rgba(0,0,0,.14); }  */

/* Optional: Beispiel-Inhalt im Panel (kann entfernt werden) */
.panel-content { position:absolute; inset:64px 24px 24px 24px; border:2px dashed #e5e7eb; border-radius:12px; display:grid; place-items:center; color:#666; font-size:14px; letter-spacing:.2px; }
/* ---------------------------------------------------------------------------- */

.dining001 h2 {
   /*font-family: 'gyre-termes';*/ 
   padding: 0; margin: 0; font-weight: normal;
   margin: 200px auto 100px auto;   
   width: 100%;
   font-size: 3em;
   color: #545454;
   text-align: center;
   font-weight: normal; letter-spacing: 3px;
}

.rmain { max-width: 1500px; margin: auto;}
.rrow  { margin: 8px -12px;}   
/* #### iPhone #### */        

.rrow, .rrow > .rcolumn { padding: 8px;}

/*.rrow:after { rcontent: ""; display: table; clear: both;}  */
.rrow:after {display: table; clear: both;}

.rcolumn1 { margin-left: 25%; margin-right: 25%; width: 50%;}
.rcolumn2 { float: left; width: 49%; margin-left: 0.5%; margin-right: 0.5%; background-color: transparent;}

.rcontent      {  position: relative; background-color: transparent; margin-bottom: 220px;}
.rcontent img  { height: 500px; object-fit: cover;}


.dmain         { max-width: 1500px; margin: auto; overflow: hidden;}
.dcontent      { position: relative; background-color: transparent; margin-bottom: 1vw; cursor: zoom-in; height: 500px;}
.dcontent img  { height: 500px; object-fit: cover; }

/*--- Dining Name & Text ---*/
.rname {
    position: absolute; 
    top: 468px;
    padding-left: 20px; padding-right: 20px;
    height: 200px; width: 90%; margin-right: 5%; margin-left: 5%;
    font-size: 13px; letter-spacing: 1px; line-height: 1.5;
    background-color: #e6e3e3; opacity: 0.9;
}
.rname h3 {
   padding-top: 10px;
   font-size: 30px; letter-spacing: 1px;
   text-transform: uppercase;
   text-align: center;
}
.rname p {
   text-align: justify;
   font-size: 15px; letter-spacing: 1px; line-height: 1.5;
   overflow: hidden;
   display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; line-clamp: 3; 
}

.dname {
    position: absolute; 
    bottom: 30px; left: 30px; color: #ffffff; 
    width: 90%; font-size: 13px; letter-spacing: 1px; line-height: 1.5;
}
.dname h3 {
   padding-top: 10px;
   font-size: 30px; letter-spacing: 2px;
/* text-transform: uppercase;   */
   text-align: left;
   color: #ffffff;
   width: fit-content;
   border-bottom: 1px solid #ffffff;
}

/*-- Button EXPLORE ---*/

.rbutt010 {background-color: #efecec; opacity: 0.8;}
.rbutt010 button {
   position: absolute;
   top: 57%; left: 50%; transform: translate(-50%, -50%);
   text-align: center;
}
.rbutt020 {
   background-color: #000000;
   color: #ffffff;
   font-Size: 14pt;
   border: none;
   margin-top: 10px; margin-bottom: 20px;
   padding-top: 5px; padding-left: 20px; padding-right: 20px; padding-bottom: 5px;
}
.rbutt020:focus { outline: none; color: #ffffff;}
.rbutt020:hover { padding-left: 25px; padding-right: 25px; color: #ffffff;}

.roverlay {
   position: absolute;
   bottom: 100%;
   left: 0;  
   background-color: #eeeeee;
   overflow: hidden;
   width: 100%;
   height: 100%;
   opacity: 0;
}
.dactive { background-color: #efecec;}

/* #******************************************************************************************************************** */
/* ***                                         DINING Details                                                        *** */
/* ********************************************************************************************************************* */

.toprightD00 {position: absolute; top: 20px; right: 20px; padding: 10px; z-index: 5000;}
.toprightD00 img {height: 30px; width: 30px; cursor: pointer;}
/*   .toprightD00:hover { background-color: #eeeeee; }  */

.daccordion {
   padding-left: 50px;
   margin-right: 100px; margin-left: 100px; 
   font-weight: normal;
   border: none;
   background-color: #efecec;
   cursor: pointer;
   width: 100%;
   text-align: left;
   outline: none;
   font-size: 30px;
   transition: 1s;
}
.dpanel {
  padding-top: 150px; padding-right: 0; padding-bottom: 0px; padding-left: 150px; padding-right: 150px;
  background-color: transparent;
  /*max-height: 1000px;*/
  overflow: hidden;
  z-index: 100;
  position: relative;
  display: none;
}
.dpanelimg      { width: 60%; float:left; position: relative;}
.dpanelimg img  { height: 650px; object-fit: cover;}

.dpanel .scroll-arrow {right: 0; top: initial; bottom: 0; z-index:10;}

.dpaneltxt { position: relative;
  text-align: justify;
  font-size: 12px; letter-spacing: 1px; line-height: 1.8;
  width: 40%; 
  float:left;
  padding-top: 50px; padding-left: 80px; padding-right: 0; padding-bottom: 40px;
}
.dpanelHead h3 { font-size: 30px; letter-spacing: 1px; }
.dpanelBody h4 { font-family: 'biro-script-plus'; color: #fe4b00; font-size: 21px; letter-spacing: 1px; line-height: 1.5; font-weight: normal;}
.dpanelBody    {height: calc(100vh - 400px); overflow-y: auto; z-index: 2; padding-bottom: 20px; }  /* Resthöhe 100% - img - h3 */
.dpanelBody p  { font-size: 12px; letter-spacing: 1px; line-height: 2;} 
.dpanelBody a  { font-size: 12px; letter-spacing: 1px;}
.dpanelBody a:hover { background-color: #717171; color: #ffffff; padding-left: 10px; padding-right: 10px; margin-left: -10px;}
.dpanelBody i  { font-size: 18px; letter-spacing: 20px;}

.r1001, .r1002, .r1003 { padding-top: 30px; width: 100%;}

.r1001 h4 {  font-Size: 12pt; padding-bottom: -50px;}
.r1002 h4 {  font-Size: 12pt; padding-bottom: -50px;}
.r1003 h4 {  font-Size: 12pt; padding-bottom: -50px;}

.d1004 h4 { padding-bottom: -10px;}


/* #******************************************************************************************************************** */
/* ***                                         YOU MIGHT ALSO LIKE ...                                               *** */
/* ********************************************************************************************************************* */

.toprightY00 {position: absolute; top: 0; right: 0; padding: 10px; z-index:10; display: none;}
.toprightY00 img {height: 30px; width: 30px;}
.toprightY00:hover { background-color: #aaaaaa; }

.yflexa  { position: relative; }
.yflexb  { position: relative; }


.also001 h2 {
   /*font-family: 'gyre-termes';*/ 
   padding: 0; margin: 0; font-weight: normal;
   margin: 200px auto 100px auto;   
   width: 100%;
   font-size: 3em;
   color: #545454;
   text-align: center;
   font-weight: normal; letter-spacing: 3px;
}
.acolumn { 
   padding: 0; 
   float: left; 
   width: 50%; 
   position: relative;
}

.acontent      { position: relative; background-color: white; z-index: 4;}
.acontent img  { height: 600px; object-fit: cover;  }

.atext, .afiller { 
   height: 600px; float: left; width: 50%; 
   position: relative;
   background-color: #eeeeee; 
   text-align: center;
}
.atextHead { position: relative; padding-left: 80px;}
.atextHead h3 { letter-spacing: 2px; padding-top: 70px; padding-bottom: 20px; font-size: 26px; text-align: left;}  

.atextBody { position: relative; margin-left: 80px; margin-right: 80px; height: 400px; overflow-y: auto;}
.atextInfo {
    position: relative; text-align: left; text-align: justify; line-height: 2;
    font-Size: 12px; letter-spacing: 1px;    
}
.atextMenu {
    position: absolute; bottom: 0; left: 80px; padding-top: 30px; height: 80px; 
    font-Size: 11px; z-index: 10; width: 80%; text-align: left;
}
.atextMenu span   {cursor: pointer; font-size: 13px; }
.atextMenu i      {cursor: pointer; font-size: 13px; width: 30px; height: 30px;  text-align: center; top: 50%; display: none; background-color: #dddddd; border-radius: 999px; }
.atextMenu i:hover {font-weight: bold; }

.afiller {
   background-color: #efecec; 
   z-index: 5;
}

.btextold  { 
   margin-top: 250px; margin-right: 10%;  margin-left: 10%; letter-spacing: 2px; 
   position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center;
   text-transform: uppercase;
   font-size: 35px;
}
.btext  { 
   letter-spacing: 2px; 
   position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center;
   text-transform: uppercase;
   font-size: 30px;
}

.vtextHead {
    position: relative; text-align: left;
    padding: 0; padding-top: 80px; padding-left: 80px; padding-right: 80px;
    font-Size: 15px; letter-spacing: 1px; line-height: 2;
}
.vtextHead h3 {font-size: 26px; letter-spacing: 2px;}

.vtext {
    position: relative; text-align: left; text-align: justify; 
    padding: 80px; padding-top: 0;
    font-Size: 15px; letter-spacing: 1px; line-height: 2; overflow-y: auto; max-height: 80%; 
}

.vtextcenter h3 { 
   letter-spacing: 2px; 
   position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center;
   text-transform: uppercase;
   font-size: 26px;
}

.vexplore {
   position: absolute; left: 80px; bottom: 50px;
   font-size: 14px; letter-spacing: 3px;
   border: none; height: 30px;   
   border-bottom-style: solid;
   border-bottom-color: #000000;
}

/*.hbtn {
   position: absolute; left: 80px; bottom: 50px;
   font-size: 14px; letter-spacing: 3px;
}*/
.hbtn {
   font-size: 11px; letter-spacing: 3px; margin-right: 50px;
   font-weight: normal;
   padding-bottom: 5px;
   border: none; height: 25px;   
   border-bottom-style: solid;
   border-bottom-width: 1px;
   border-bottom-color: #000000;
   cursor: pointer;
}
.hbtn:hover {font-weight: bold;}

span .hbtn {cursor: pointer;}

.seemore020 {
   background-color: #000000;
   color: #ffffff;
   font-Size: 14pt;
   border: none;
   margin-top: 10px; margin-bottom: 20px;
   padding-top: 5px; padding-left: 20px; padding-right: 20px; padding-bottom: 5px;
   z-index:10;   
}

/*--- Button SEE MORE ---*/

.seemore010 button {
   position: absolute;
   top: 55%;
   left: 50%;
   transform: translate(-50%, -50%);
   text-align: center;
   z-index:10;
}

.seemore020:focus { outline: none; color: #ffffff;}
.seemore020:hover { padding-left: 25px; padding-right: 25px; color: #ffffff;}

.aoverlay {
   position: absolute; bottom: 0; left: 0;  
   background-color: #eeeeee;
   width: 100%; height: 100%;
   opacity: 0;
}
.boverlay {
   position: absolute; top: 0; right: 0;  
   background-color: #eeeeee;
   overflow-y: auto;
   width: 100%; height: 100%;
   opacity: 0;
}
.tab {
  overflow: hidden;
  border-Bottom: 1px solid #ccc;
  background-color: #f1f1f1;
  margin-left: 20px; margin-right: 60px; 
  outline: none; text-decoration: none; color: inherit; 
}

.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
  font-size: 17px; letter-spacing: 1px;
  outline: none; text-decoration: none; color: inherit; 
}

.tab button:hover  { background-color: #ddd; outline: none;}
.tab button.activ  { background-color: #ccc; outline: none;}

/*.tabcontent { position: absolute; top:0; background-color: #eeeeee; display: none; overflow-y: auto; height: 100%;}*/
.tabcontent { position: relative; text-align: left; background-color: #eeeeee; display: block; overflow-y: auto; height: 100%; line-height: 1.5;}
.tabdisplay { display: block;}  

.tabcontent.active {display: block;}

.m_text {
   margin-top: 50px; margin-bottom: 50px; margin-left: 80px; margin-right: 80px;
   color: #000000;
   font-Size: 15px;
   letter-spacing: 1px; line-height: 2;
   text-align: justify; 
}
.m_text p   {font-Size: 15px; line-height: 2;}
.m_text li  {font-Size: 13px; line-height: 2;}

.hfooter    {font-Size: 15px; letter-spacing: 1px; margin-top: 20px; }
.hfooter h4 {font-size: 15px; letter-spacing: 1px; padding-bottom: 0px; } 

/* .arow:after { acontent: ""; display: table; clear: both;}  */
.arow:after { display: table; clear: both;}

.aicons {
   margin-left: 80px;
   margin-right: 50px;
   padding-top: 25px;   
   padding-bottom: 40px;
   text-align: left;
}

.tabcontent {width: 100%;}

.tabcontent .aicons {
   margin-left: 0;
   margin-right: 0;
   padding-top: 0;   
   padding-bottom: 0;
   text-align: left;
   font-size: 12px;
}

.tabcontent .hico01   {width: 50%;} 
.tabcontent .hico03   {font-size: 12px;}
.tabcontent .aicons i {font-size: 15px;}

.acapacities { padding-top: 40px;} 

.ovdetails         { margin-left: 80px; margin-top: 25px; text-align: left; font-Size: 15px; letter-spacing: 1px; }
.ovdetails a:hover { background-color: #717171; color: #ffffff; padding-left: 10px; padding-right: 10px; margin-left: -10px;}

/*---------------------------------------------------------------------------------------------*/
/*	                                Tagungskapazitaeten
/*---------------------------------------------------------------------------------------------*/

.htk0 table {
   margin-left: 50px;
   padding-right: 50px;
   padding-left: 50px;
}

.htk1, .htk2, .htk3 {
   color:#000000;
   font-Size:12pt;
   width: 50px;
   text-align: right;
   height: 35px;
   border-bottom: 1px solid #ffffff;
}

.htk2 { text-align: left; padding-left: 30px;}
.htk3 { text-align: center; width: 50px;}
.htk3 img {height: 15px;}

.htkt::before {content: "Tageslicht";} 
.htkv::before {content: "Verdunkelbar";} 
.htkk::before {content: "Klimatisiert";} 


/* #******************************************************************************************************************** */
/* ***                                         Barrierefreiheit / Hygienemassnahmen                                  *** */
/* ********************************************************************************************************************* */

.hchk00     { margin-top: 30px;}
.hchk01     { width: 50%; float: left; font-Size:14pt; height: 50px;}
.hchk02     { width: 50px; float:left;}
.hchk02 i   { color:#606161; font-Size:12pt; width: 50px;  }
.hchk02 img { height: 20px;}
.hchk03     { font-Size: 12pt; letter-spacing: 1px; padding-top: 5px;}

/* #******************************************************************************************************************** */
/* ***                                         Floor Plans - Villas                                                  *** */
/* ********************************************************************************************************************* */

#vfloors    {width: 15%; float: left;}
.vfloorname {width: fit-content; cursor: pointer; padding-bottom: 5px; padding-top: 20px;
             font-Size: 12pt; letter-spacing: 2px;
             border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #000000;}
.vfloorname.open {font-weight: bold;} 
.vfloorsrc  {display: none;}
 
#vfloorplan {max-width: 60%; max-height: 60%;}

/* #******************************************************************************************************************** */
/* ***                                         Entfernungsangaben & Maps                                             *** */
/* ********************************************************************************************************************* */

#entf0 {width: 30%; float: left; letter-spacing: 1px; }
#entf0 h4  {font-Size: 14px; letter-spacing: 1px; line-height: 1.5; text-transform: uppercase;}

.entf1  {width: 80%; float: left; 
   color:#000000;
   font-Size: 14px; letter-spacing: 1px; line-height: 2;
   text-align: left;
}
.entf2 { padding-left: 10px;}
.entf3 { text-align: right; width: 20%; float: left; padding-right: 20px; float: left; font-Size: 14px; letter-spacing: 1px; line-height: 1.5;}


/* #******************************************************************************************************************** */
/* ***                                         Google Maps                                                           *** */
/* ********************************************************************************************************************* */

#xmap {display: none;}  /* save der geokoordianten, da maps von google überschrieben wird */
#map  {width: 67%; margin-left: 3%; height: 600px; margin-top: 38px; float: left; background-color: #eeeeee;}

/* #******************************************************************************************************************** */
/* ***                                         good to know                                                          *** */
/* ********************************************************************************************************************* */

#hgtk01 {background-color:transparent; width: 100%; margin-top: 200px;}

.yyyy { 
   position: relative;
   background-color: transparent; 
   margin-top: 200px; margin-right: 2%; margin-bottom: 100px; margin-left: 10%; 
   padding-top: 0px; padding-right: 80px; padding-bottom: 100px; padding-left: 80px;
   width: 38%;
   font-Size: 14px;
   border: solid 1px;
   border-color: #545454; float: left;
   line-height: 2; letter-spacing: 1px;
}

.yyyy>img { position: relative; top: -70px; height: 120px; text-align: center; margin: auto; display: block; }


/* u******************************************************************************************************************** */
/* ***                                         ... Zahlungsmittel                                                    *** */
/* ********************************************************************************************************************* */

.zv_dropdown { position: relative; border: none;}
.zv_dropdown:hover .zv_content {display: block;}

.h-info {
   font-size: 16px;
   margin-top: 10px; 
   position: relative;
   top: -10px;
   cursor: pointer; 
   color: #888888; 
}

.zv_content {
   display: none;
   padding: 5px;
   padding-left: 5px;
   position: absolute;
   background-color: #efecec;
   color: #000000;
   min-width: 50px;
   font-size: 14px;
   text-align: left;
   box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
   z-index: 1;
}
.zv_content img { top: 0px;}
.zv_content ul  { margin: 0; padding: 0;}

.zv_content li  {
   float: left;
   color: #000000;
   padding: 10px;
   text-decoration: none;
   text-align: left;
   display: inline;
}


/* #******************************************************************************************************************** */
/* ***                                         get in touch                                                          *** */
/* ********************************************************************************************************************* */

.xxxx { 
   position: relative;
   background-color: transparent; 
   margin-top: 200px; margin-right: 10%; margin-left: 2%; margin-bottom: 100px;
   padding-top: 0px; padding-right: 80px; padding-bottom: 50px; padding-left: 80px; 
   width: 38%;
   font-Size: 14px;
   line-height: 1.8;
   border: solid 1px;
   border-color: #545454; float: left;
   overflow-wrap: break-word;
   line-height: 1.5; letter-spacing: 1px;
}

.xxxx>img { position: relative; top: -70px; height: 120px; text-align: center; margin: auto; display: block; }

.xxxx td { font-Size: 15px; }

.xxxxid  { max-width: 120px; min-width: 90px;font-Size: 14pt; color: #808080; vertical-align: top; }

.xxxxref           { color: #000000; list-style: none; }     
.xxxxref:focus     { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref a         { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref a:visited { color: #000000; list-style: none; outline: none; cursor: pointer;}

.xxxxref td a         { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td a:visited { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td           { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td:visited   { color: #000000; list-style: none; outline: none; cursor: pointer;}

.h-ico1           { font-Size:12pt;}
.h-ico1:focus     { color: #000000; outline: none;}
.h-ico1 a         { color: #000000;}
.h-ico1 a:visited { color: #000000;}

.h-ico2           { text-align: left;}
.h-ico2 a         { color:#cccccc; font-Size:20pt; vertical-align: bottom;}
.h-ico2 a:hover   { color:#777777;}

/* u******************************************************************************************************************** */
/* ***                                         ... Anfahrt                                                           *** */
/* ********************************************************************************************************************* */


/* #******************************************************************************************************************** */
/* ***                                BOOK NOW & Direct Booking Benefits                                             *** */
/* ********************************************************************************************************************* */

#h99pos {position: relative; height: 0px;}

#h99div { 
  position: fixed; bottom: -15px; margin: 0px; z-index: 100;
  display: none;
  width: 520px; height: 50px;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background-color: transparent;
  overflow: hidden; text-align: left;
  opacity: 1; transition: 0.5s;
  color: #ffffff; font-Size: 12px; letter-spacing: 1px; 
  padding: 0px 0px;
  cursor: pointer;
}

#h98div { 
  position: fixed; bottom: -15px; margin: 0px; z-index: 100;
  display: none;
  width: 370px; height: 50px;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background-color: transparent;
  overflow: hidden; text-align: left;
  opacity: 1; transition: 0.5s;
  color: #ffffff; font-Size: 12px; letter-spacing: 1px; 
  padding: 0px 0px;
  cursor: pointer;
}

#h99book a {
  width: 370px; height: 50px; text-align: center;
  padding-top: 12px; margin-right: 3px;  
  color: #ffffff; font-Size: 18px; letter-spacing: 3px; float: left;
  background-color: #3B4740;
  }
#h99book a:hover {background-color: #000000;}

#h99dbb {width: 145px; height: 50px; text-align: center; float: left; background-color: #3B4740;}
#h99dbb:hover {background-color: #000000;}
#h99dbb img {height: 50px;}    

#h99disp { 
  display: none; 
  position: fixed; z-index: 125; top: 15%; left: 15%;
  width: 70%; height: 70%; padding: 5%;  max-width: 2000px;
  text-align: left;  
  background-color: #222222; color: #ffffff; letter-spacing: 1px; 
  font-Size: 14px; opacity: 0.9; transition: 0.5s; padding: 50px;}

#h99cont     {height: 90%; width: 50%; padding-left: 2%; padding-right: 2%; font-Size: 12px; text-align: justify;}
#h99cont h4  {font-family: 'Versailles'; font-Size: 26px; letter-spacing: 4px; font-weight: normal; margin: 0; padding-top: 0; padding-bottom: 20px; text-align: center; }

#h99cont2     {height: 90%; width: 50%; overflow-y: auto; text-align: justify;}
#h99cont2 h5  {font-Size: 14px; letter-spacing: 2px; font-weight: normal; margin: 0; margin-top: 30px; margin-bottom: 10px; }
#h99cont2 div {padding-left: 50px; }

.h99check {float: left; width: 50px;}

#h99img     {float: left; position: absolute; top: 150px; right: 5%; height: 70%;}
#h99img img {position: absolute; top: 0; right: 0; height: 100%;  }
#h99imgw {width:40%; background-color: red;}

#h99close   {position: absolute; top: 0; right: 0; cursor: pointer; padding: 10px;}
#h99close img {height: 30px; width: 30px;}
#h99close:hover {background-color: #000000;}

#h99modal {
   position: fixed; top: 0; left: 0; z-index: 110; display: none;
   width: 100%; height: 100%;
   overflow: auto;
   background-color: rgba(0,0,0,0.8);  
 }
 
#scrollDBB {color: #ffffff;} 
#h99cont  {width: 100%;} 
#h99cont2 {max-height: 90%;}    /* scrollable */
 
 

/* #******************************************************************************************************************** */
/* ***                                         BOOK NOW                                                              *** */
/* ********************************************************************************************************************* */

#h9951 {
   height: 0px;
   position: relative;
}

#h9952 {
   margin: 0;
   position: absolute;
   top: 50%;
   left: 50%;
   -ms-transform: translate(-50%, -50%);
       transform: translate(-50%, -50%);
}

.h9953 {
   background-color:  #ff865f;
   color: #ffffff;
   font-Size: 16pt;
   padding-top: 10px;
   padding-left: 35px;
   padding-right: 35px;
   padding-bottom: 10px;
   border: none;
   border-radius:10px 10px 10px 10px;
}

.h9953:hover { padding-left: 40px; padding-right: 40px;}
.h9953:focus { outline: none; color: #ffffff;}
.h9953 a     {                color: #ffffff;}
.h9953 a:visited {            color: #ffffff;}


/* #******************************************************************************************************************** */
/* ***                                         Direct Booking Benefits                                               *** */
/* ********************************************************************************************************************* */

#xdbb01 { 
  position: fixed; bottom: -15px; margin: 0px;
  display: none;
  width: 520px; height: 50px;
  left: 50%;
   -ms-transform: translate(-50%, -50%);
       transform: translate(-50%, -50%);
  background-color: transparent;
  z-index: 20;
  overflow: hidden; text-align: left;
  opacity: 1; transition: 0.8s;
  color: #ffffff; font-Size: 12px; letter-spacing: 1px; 
  padding: 0px 0px;
  cursor: pointer;
}

#xdbb11 a {
  width: 370px; height: 50px; text-align: center;
  padding-top: 12px; margin-right: 3px; 
  color: #ffffff; font-Size: 18px; letter-spacing: 3px; float: left;
  background-color: #3B4740;
}
#xdbb11 a:hover {letter-spacing: 5px;}

#xdbb12 {
  width: 145px; height: 50px; text-align: center;
  float: left;  
  background-color: #3B4740;
}

/*  #xdbb01:hover { width: 600px; font-Size: 30px; text-align: left;}   */

#xdbb02 { 
  position: fixed;  z-index: 19;
  top: 270px;
  left: -500px;
  width: 500px;
  border-radius:0px 0px 4px 0px;
  text-align: left;  
  background-color: #ffffff; color: #000000; letter-spacing: 1px; 
  font-Size: 14px; opacity: 0.9; transition: 0.8s; overflow: hidden; padding: 20px;}

#xdbb02 li {font-Size: 14px; letter-spacing: 1px; line-height: 2;}
#xdbb02>h4 {display: none;}
#xdbb02>p  {padding-left: 28px;}
#xdbb05   { display: none;}




/* #******************************************************************************************************************** */
/* ***                                         Java Script                                                           *** */
/* ********************************************************************************************************************* */




/* ********************************************************************************************************************* */
/* ***                                         Footer                                                                *** */
/* ********************************************************************************************************************* */

/*---------- Join our Newsletter ----------------------------------------------------------*/

#ssubs001 h3 {font-Size:30pt; line-height: 1.2; font-weight: normal; letter-spacing: 1px; margin-top: 1em; margin-bottom: 1em; }



/* ********************************************************************************************************************* */
/* ***                                         ENDE                                                                  *** */
/* ********************************************************************************************************************* */

.activ   { background-color: #717171;}


/*---------- Keyframes ------------------------------------------------------------------------*/

.fade         { animation-name: fade; animation-duration: 1.5s;}
.fade-top     { animation: fade-top    1s; opacity: 1;}
.fade-right   { animation: fade-right  1s; opacity: 1;}
.fade-bottom  { animation: fade-bottom 1s; opacity: 1;}
.fade-left    { animation: fade-left   1s; opacity: 1;}
.fade-rooms   { animation: fade-rooms  1s; opacity: 1;}

@keyframes fade        { from {opacity: .1} to {opacity: 1} }

@keyframes fade-rooms  {
                    0% { transform: translateY(-200px);  opacity: 0;}
                  100% { transform: translateY(0);       opacity: 1;}  
}
@keyframes fade-top    {
                    0% { transform: translateY(-1000px); opacity: 0;}
                  100% { transform: translateY(0);       opacity: 1;}  
}
@keyframes fade-right  {
                    0% { transform: translateX(1000px);  opacity: 0;}
                  100% { transform: translateX(0);       opacity: 1;}  
}
@keyframes fade-bottom {
                    0% { transform: translateY(1000px);  opacity: 0;}
                  100% { transform: translateY(0);       opacity: 1;}  
}
@keyframes fade-left   {
                    0% { transform: translateX(-1000px); opacity: 0;}
                  100% { transform: translateX(0);       opacity: 1;}  
}

/*---------------------------------------------------------------------------------------------*/



/*  #########################################################################################  */
/*  ##                         Media Screen min. 2500 x 000px // iMac                      ##  */
/*  #########################################################################################  */

@media screen and (min-width: 2500px) {
  
#h99cont     {font-Size: 14px; }
#h99cont h4  {font-Size: 30px; padding-top: 10px; }
#h99cont h5  {font-Size: 16px; margin-top: 40px; }

#h_image {margin-bottom: 150px;}
#h_like  {margin-top: -180px;}

#h_name  {font-Size:35pt;}
#h_name h1 {font-Size:35pt;}

#h_anschrift {font-Size: 14px;}
#h_typdiv {margin-bottom: 100px;}
.h_typ {width: 100px;}

#hoteltext { 
   width: 55%; 
   background-color: transparent;
   margin: 0; 
   padding-top: 100px; padding-bottom: 0px; padding-right: 0px; padding-left: 120px;   
   font-Size: 16px; display: block; line-height: 1.8; letter-spacing: 1px;
}
#hoteltext h3 { font-size: 40px; }
#hoteltext h4 { font-size: 24px;}

.h_handyx { font-size: 14px;}

/*  -------------------------- ROOMS -------------------------------------------------------- */

.rooms001 h2 { font-size: 3.5em; letter-spacing: 3px;}



/*--------- 460px, 920px, 1380px, 1840px ---*/

.zprev, .znext  {top: 50%;} 

.zrow3    { width: 1578px; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}
.zrow2    { width: 1052px; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}
.zrow1    { width:    80%; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}

#zzrooms1 { width: 44000px; transition: all 0.6s ease 0s; overflow: hidden;}

.zcolumn1 { float: left; width:  100%; margin-left: 10px; margin-right: 10px; float: left;  }
.zcolumn3 { float: left; width: 506px; margin-left: 1px; margin-right: 1px; float: left;  }

.zcontent { position: relative; display: block; animation-name: fade; animation-duration: 1.5s;}

.zname h3 {font-size: 30px; }

/*  -------------------------- ROOMS Details ------------------------------------------------ */

.rpanel {padding-right: 15%; padding-left: 15%; }

.rpanelimg { width: 60%; height: 100%; position: relative; float: left;}
.rpanelimg img  { height: 100%; object-fit: cover;}

.rpaneltxt { height: 100%; font-size: 14px; letter-spacing: 1px; line-height: 2;}
.rpanelHead h3 { font-size: 40px; line-height: 1.3;}
.rpanelBody p  { font-size: 14px;  line-height: 1.8;}
.rpanelBody li { font-size: 13px; }


/*--- Dining Name & Text ---*/
.rname {
    position: absolute; 
    top: 468px;
    padding-left: 20px; padding-right: 20px;
    height: 200px; width: 90%; margin-right: 5%; margin-left: 5%;
    font-size: 13px; letter-spacing: 1px; line-height: 1.5;
    background-color: #e6e3e3; opacity: 0.9;
}
.rname h3 {
   padding-top: 10px;
   font-size: 30px; letter-spacing: 1px;
   text-transform: uppercase;
   text-align: center;
}
.rname p {
   text-align: justify;
   font-size: 15px; letter-spacing: 1px; line-height: 1.5;
   overflow: hidden;
   display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; line-clamp: 3;
}

/*  -------------------------- DINING Details ----------------------------------------------- */

.dining001 h2 { padding: 0; margin: 0; font-weight: normal; margin-top: 250px; margin-bottom: 100px;}
.dining001 h2 { font-size: 3.5em; letter-spacing: 3px;}

.dpanel {
  padding-top: 200px; padding-left: 200px; padding-right: 200px;}
.dpanelimg      { width: 60%; float:left; position: relative;}
.dpanelimg img  { height: 850px; object-fit: cover;}

.dpaneltxt { 
  text-align: justify;
  font-size: 12px; letter-spacing: 1px; line-height: 1.8;
  width: 40%;   /*  height: 100vh;  */
  float:left;
  padding-top: 50px; padding-left: 150px; padding-right: 0; padding-bottom: 40px;
  overflow-y: auto;
}

.dpanelHead h3 { font-size: 40px; }
.dpanelBody    {height: calc(100vh - 400px); overflow-y: auto; z-index: 2; padding-bottom: 20px; }  /* Resthöhe 100% - img - h3 */
.dpanelBody h4 { font-size: 22px; line-height: 1.8;}
.dpanelBody p  { font-size: 14px; line-height: 1.8;} 
.dpanelBody a  { font-size: 14px; line-height: 1.8;}

/*  -------------------------- YMAL --------------------------------------------------------- */


.btext  {letter-spacing: 2px; font-size: 35px;}

.also001 h2      { padding: 0; margin: 0; font-weight: normal; margin: 300px auto 100px;}
.also001 h2 { font-size: 3.5em; letter-spacing: 3px;}

.acontent img    { height: 800px;}
.atext, .afiller { height: 800px;}

.m_text     {margin-left: 120px; margin-right: 120px; font-Size: 15px; line-height: 2;}
.m_text p   {font-Size: 15px;}
.m_text li  {font-Size: 15px;}

.hfooter    {font-Size: 15px; letter-spacing: 1px; margin-top: 30px; }
.hfooter h4 {font-size: 15px; letter-spacing: 1px; padding-bottom: 0px; } 

/* .arow:after { acontent: ""; display: table; clear: both;}  */
.arow:after { display: table; clear: both;}

.aicons {margin-left: 120px; margin-right: 50px; padding-top: 50px; }

.ovdetails { margin-left: 120px; font-Size: 15px;}

.vtextcenter h3 {font-size: 40px;}

.atextHead {padding-left: 150px; height: fit-content;}
.atextHead h3 {font-size: 40px; padding-top: 100px; padding-bottom: 20px;}
.atextBody {position: relative; margin-left: 150px; margin-right: 150px;}
.atextInfo { font-Size: 14px; }
.atextMenu { font-Size: 12px; left: 150px; }

/*  -------------------------- Accordion ---------------------------------------------------- */

.accordion { font-size: 32px;}
.accordion h2  {padding: 0; margin: 0; font-weight: normal; font-size: 24px; width: 98%; float: left; padding-bottom: 10px; }

/*  -------------------------- Entfernungen ------------------------------------------------- */

#entf0 h4  {font-Size: 15px; line-height: 2; text-transform: uppercase;}
.entf2 { padding-left: 10px;}

#map  {height: 750px; margin-top: 40px;}

}

/*  #########################################################################################  */
/*  ##                         Media Screen max. 1680 x 1050 // Macbook Air                ##  */ 
/*  #########################################################################################  */

@media screen and (max-width: 1680px) {

.toprightA00 {padding: 5px;}    
.toprightR00 {padding: 5px;}    
.toprightD00 {padding: 5px;}    
.toprightY00 {padding: 5px;}    
#h99close    {padding: 5px;}

.toprightA00 img {height: 25px; width: 25px;}
.toprightR00 img {height: 25px; width: 25px;}
.toprightD00 img {height: 25px; width: 25px;}
.toprightY00 img {height: 25px; width: 25px;}
#h99close    img {height: 25px; width: 25px;}

#hgalerie02 .toprightA00 img {height: 25px; width: 25px;}

#h99disp      {top: 5%; left: 5%; width: 90%; height: 90%;}
.h99check     {width: 30px;}
#h99cont2 div {padding-left: 30px;}
#h99cont      {font-Size: 12px; }
#h99cont h4   {font-Size: 24px; padding-top: 10px; }
#h99cont h5   {font-Size: 13px; margin-top: 40px; }
     
/* #******************************************************************************************************************** */
/* ***                                         Collage                                                               *** */
/* ********************************************************************************************************************* */

#h_sterne { font-Size: 10pt; }
#h_sterne i {letter-spacing: 6px; }

#h_name    {font-Size: 25pt; margin-top: 0;}
#h_name h1 {font-Size: 25pt;}
#hoteltext {font-Size: 15px;}
#vroomstext {font-Size: 15px;}


#h_boxx { padding-top: 80px; padding-bottom: 50px;}

#h_box0 { margin-left: 7%; margin-right: 7%;}

#h_box1 { 
   position: relative;
   z-index: 5;
   float: left; width: 45%; 
}

#hcollage {
   margin-bottom: 20px;
   text-align: left;
   vertical-align: top;
   font-size: 12pt;
   color: #000000;    
   margin-top: 0px;
   width: auto;
}
.hpointer {cursor: pointer;}


/* #******************************************************************************************************************** */
/* ***                                         Hoteltext                                                             *** */
/* ********************************************************************************************************************* */

#hoteltext {
   text-align: justify;
   float: left; width: 50%; 
   background-color: transparent;
   margin: 0; 
   padding-top: 30px; padding-bottom: 0px; padding-right: 0px; padding-left:0px; margin-left: 5%;  
   font-Size: 14px;    display: block; 
   overflow-y: auto; line-height: 1.8; letter-spacing: 1px;
}

#hoteltext h3 { font-size: 40px; }
#hoteltext h4 { font-size: 22px;}

#vroomstext { font-Size: 14px;}

.tcenter { font-Size:16pt; font-weight: bold; padding-top: 30px; padding-bottom: 20px; text-align: center;}  


/* #******************************************************************************************************************** */
/* ***                                         Bildergalerie                                                         *** */
/* ********************************************************************************************************************* */

/* -------------------------------------- Galerie */ 
#hgalerie02 {width: 80%; max-height: 80%;}   /* 600px */
#hgalerie02>img {width: 100%; max-height: 600px;}


/* ********************************************************************************************************************* */
/* ***                                         ROOMS Overview                                                        *** */
/* ********************************************************************************************************************* */

.rooms001 h2 {
   padding: 0; margin: 0; font-weight: normal;
   margin: 200px auto 100px auto; 
   width: 100%;
   font-size: 3em;
   color: #545454;
   text-align: center;
   font-weight: normal; letter-spacing: 3px;
}

.zname h3 {font-size: 24px; }

.tile h3 {font-size: 26px; }

/*  -------------------------- ROOMS -------------------------------------------------------- */

/*--------- 460px,  920px, 1380px, 1840px ---*/
/*--------- 546px, 1092px, 1638px, 1840px ---*/
/*--------- 372px,  744px, 1116px,  ---*/

.zleft, .zright {height: 464px;}
.zprev, .znext  {top: 45%;} 

.zrow3    { width: 1116px; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}
.zrow2    { width:  744px; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}
.zrow1    { width:    80%; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}

#zzrooms1 { width: 44000px; transition: all 0.6s ease 0s; overflow: hidden;}

.zcolumn1 { float: left; width:  100%; margin-left: 10px; margin-right: 10px; float: left;  }
.zcolumn3 { float: left; width: 352px; margin-left: 10px; margin-right: 10px; float: left;  }

.zcontent { position: relative; display: block; animation-name: fade; animation-duration: 1.5s;}



/* ********************************************************************************************************************* */
/* ***                                         ROOMS Details                                                         *** */
/* ********************************************************************************************************************* */

.raccordion {
   padding-left: 50px;
   margin-right: 100px; margin-left: 100px; 
   font-weight: normal;
   border: none;
   background-color: transparent;
   cursor: pointer;
   width: 100%;
   text-align: left;
   outline: none;
   font-size: 30px;
   transition: 1s;
}

.rpanel {padding-top: 0px; padding-right: 0; padding-left: 0; margin-left: 7%; margin-right: 7%;}
.rpanelimg { height: 100%; width: 60%; position: relative;}
.rpanelimg img  { height: 100%; object-fit: cover;}

.xprev, .xnext {
  cursor: pointer;
  position: absolute;
  top: 50%;
  padding: 16px;
  margin-top: -35px;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

.xnext { right: 0; border-radius: 3px 0 0 3px;}

.rpaneltxt { width: 40%; padding-top: 50px; padding-left: 50px; padding-right: 50px; padding-bottom: 20px; 
   height: 100%; font-size: 13px; letter-spacing: 1px; line-height: 1.5;
}
.rpanelHead h3 {  letter-spacing: 1px; font-size: 30px; padding-bottom: 20px; text-align: left; }
.rpanelBody p  { letter-spacing: 1px; font-size: 14px; line-height: 2; margin-bottom: 50px;  }
.rpanelBody li { letter-spacing: 1px; font-size: 12px; line-height: 2; margin-left: -25px;  }

.h_zimmer_preis { font-size: 12pt; margin-top: 20px;}
.h_zimmer_info  { font-size: 12pt; margin-top: 30px; margin-bottom: 30px;}
.rzk2           { font-size: 10pt; margin-bottom: 30px;}

.rpanelBody {max-height: 80%; }


.accordion h2  {  font-size: 20px; }
.hico00     { margin-top: 30px;}
.hico01     { width: 33.33%; float: left; font-Size:14pt; height: 50px;}
.hico02     { width: 50px; float:left;}
.hico02 i   { color:#606161; font-Size:14px; width: 50px;  }
.hico02 img { height: 20px;}
.hico03     { font-Size: 13px; letter-spacing: 1px; padding-top: 5px; }







/* #******************************************************************************************************************** */
/* ***                                         DINING                                                                *** */
/* ********************************************************************************************************************* */

.dining001 h2 {
   padding: 0; margin: 0; font-weight: normal;
   margin: 200px auto 100px auto;   
   width: 100%;
   font-size: 3em;
   color: #545454;
   text-align: center;
   font-weight: normal; letter-spacing: 3px;
}

.rmain { margin-left: 7%; width: 86%; margin-right: 7%;}
.rrow  { margin: 8px -12px;}                  
/* #### iPhone #### */        

.rrow, .rrow > .rcolumn { padding: 8px;}

/* .rrow:after { rcontent: ""; display: table; clear: both;} */
.rrow:after { display: table; clear: both;}

.rcolumn1 { margin-left: 25%; margin-right: 25%; width: 50%;}
.rcolumn2 { float: left; width: 48%; margin-left: 1%; margin-right: 1%; background-color: transparent;}

/* .rcontent      { height: 680px;  position: relative; background-color: transparent; margin-bottom: 50px;} */
/* .rcontent img  { height: 500px;  object-fit: cover;} */

/*--- Button EXPLORE ---*/


.rbutt020 {
   background-color: #000000;
   color: #ffffff;
   font-Size: 14pt;
   border: none;
   margin-top: 10px; margin-bottom: 20px;
   padding-top: 5px; padding-left: 20px; padding-right: 20px; padding-bottom: 5px;
}
.rbutt020:focus { outline: none; color: #ffffff;}
.rbutt020:hover { padding-left: 25px; padding-right: 25px; color: #ffffff;}

.roverlay {
   position: absolute;
   bottom: 100%;
   left: 0;  
   background-color: #eeeeee;
   overflow: hidden;
   width: 100%;
   height: 100%;
   opacity: 0;
}

/* #******************************************************************************************************************** */
/* ***                                         DINING Details                                                        *** */
/* ********************************************************************************************************************* */

.daccordion {
   padding-left: 50px;
   margin-right: 7%; margin-left: 7%; 
   font-weight: normal;
   border: none;
   background-color: #efecec;
   cursor: pointer;
   width: 100%;
   text-align: left;
   outline: none;
   font-size: 30px;
   transition: 1s;
}


.dpanel {padding-top: 5%; padding-bottom: 5%; padding-left: 100px; padding-right: 100px;}
.dpanelimg      { width: 60%; float:left; position: relative;}

.dpanelimg   {height: 550px;  }

.dpanelimg img  { height: 550px; object-fit: cover;}


.dpaneltxt { 
  text-align: justify;
  font-size: 13px; letter-spacing: 1px;
  width: 40%; 
  float:left;
  background-color: #e6e3e3; 
  padding-top: 10px; padding-left: 80px; padding-right: 0; padding-bottom: 40px;
  overflow-y: auto;
}
.dpanelHead h3 { font-size: 30px; letter-spacing: 1px; }
.dpanelBody    {height: calc(100vh - 300px); overflow-y: auto; z-index: 2; padding-bottom: 20px; }  /* Resthöhe 100% - img - h3 */
.dpanelBody h4 { font-size: 20px; letter-spacing: 1px; line-height: 1.5;}
.dpanelBody p  { font-size: 13px; letter-spacing: 1px; line-height: 1.5;} 
.dpanelBody a  { font-size: 13px; letter-spacing: 1px;}
.dpanelBody a:hover { background-color: #717171; color: #ffffff; padding-left: 10px; padding-right: 10px; margin-left: -10px;}

.r1001, .r1002, .r1003 { padding-top: 30px; width: 100%;}

.r1001 h4 {  font-Size: 12pt; padding-bottom: -50px;}
.r1002 h4 {  font-Size: 12pt; padding-bottom: -50px;}
.r1003 h4 {  font-Size: 12pt; padding-bottom: -50px;}

.d1004 h4 { padding-bottom: -10px;}


/* #******************************************************************************************************************** */
/* ***                                         YOU MIGHT ALSO LIKE ...                                               *** */
/* ********************************************************************************************************************* */

.also001 h2 {
   padding: 0; margin: 0; font-weight: normal;
   margin: 200px auto 100px auto;   
   width: 100%;
   font-size: 3em;
   color: #545454;
   text-align: center;
   font-weight: normal; letter-spacing: 3px;
}
.acolumn { 
   padding: 0; 
   float: left; 
   width: 50%; 
   position: relative;
}

.acontent      { position: relative; background-color: white; z-index: 4;}
.acontent img  { height: 600px; object-fit: cover;  }

.atext, .afiller { 
   height: 600px; float: left; width: 50%; 
   position: relative;
   background-color: #eeeeee; 
   text-align: center;
 }

.atextHead  {padding-left: 50px; padding-right: 50px;}
.atextHead h3 { font-size: 26px; }  /* 30px*/  

.vtextcenter h3 { font-size: 30px;} 

.atextBody { margin-left: 50px; margin-right: 50px; position: relative; height: 400px; overflow-y: auto;}
.atextInfo { line-height: 1.8; font-Size: 13px;}

.aicons .hico00 {margin-top: 0;}


.atextMenu {
    position: absolute; bottom: 0; left: 50px; padding-top: 30px; height: 80px; 
    font-Size: 11px; z-index: 10; width: 80%; text-align: left;
}
.atextMenu span   {cursor: pointer; font-size: 11px;  }
.atextMenu i      {cursor: pointer; font-size: 13px; width: 30px; height: 30px;  text-align: center; top: 50%; display: none; border-radius: 999px; }
.atextMenu i:hover {font-weight: bold; }

.vtext  {font-size: 14px; padding-left: 50px; padding-right: 50px; }
.vtextHead  {padding-left: 50px; padding-top: 50px; padding-right: 50px;}
.vtextHead h3 {font-size: 22px;}



 
 
.afiller {
   background-color: #efecec; 
   z-index: 5;
}

.btext  { 
   letter-spacing: 2px; margin-right: 0; margin-left: 0; width: 100%; 
   position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center;
   text-transform: uppercase;
   font-size: 30px;
}

.seemore020 {
   background-color: #000000;
   color: #ffffff;
   font-Size: 14pt;
   border: none;
   margin-top:  5px; margin-bottom: 20px;
   padding-top: 5px; padding-left: 20px; padding-right: 20px; padding-bottom: 5px;
   z-index:10;   
}

/*--- Button SEE MORE ---*/

.seemore010 button {
   position: absolute;
   top: 55%;
   left: 50%;
   transform: translate(-50%, -50%);
   text-align: center;
   z-index:10;
}

.seemore020:focus { outline: none; color: #ffffff;}
.seemore020:hover { padding-left: 25px; padding-right: 25px; color: #ffffff;}

.tab {
  overflow: hidden;
  border-Bottom: 1px solid #ccc;
  background-color: #f1f1f1;
  margin-left: 20px; margin-right: 20px;
  outline: none;
}

.tab button {font-size: 14px; letter-spacing: 1px; outline: none;}
.tabcontent { display: block; padding: 0; overflow-y: auto;}
.tabdisplay { display: block;}  

.m_text {
   margin-top: 50px; margin-bottom: 50px; margin-left: 50px; margin-right: 50px;
   color: #000000;
   font-Size: 14px;
   letter-spacing: 1px; line-height: 2;
   text-align: justify;
}
.m_text p   {font-Size: 14px;}
.m_text li  {font-Size: 12px;}

.hfooter    {font-Size: 14px; letter-spacing: 1px; margin-top: 20px; }
.hfooter h4 {font-size: 14px; letter-spacing: 1px; padding-bottom: 0px; } 

.aicons {
   margin-left: 50px;
   margin-right: 50px;
   padding-top: 25px;   
   padding-bottom: 40px;
   text-align: left;
}

.aicons .hico03  { font-Size: 13px;}

.acapacities { padding-top: 40px;} 

.ovdetails         { margin-left: 80px; margin-top: 25px; text-align: left; font-Size: 15px; letter-spacing: 1px; }
.ovdetails a:hover { background-color: #717171; color: #ffffff; padding-left: 10px; padding-right: 10px; margin-left: -10px;}



/* #******************************************************************************************************************** */
/* ***                                         Barrierefreiheit / Hygienemassnahmen                                  *** */
/* ********************************************************************************************************************* */

.hchk00     { margin-top: 30px;}
.hchk01     { width: 50%; float: left; font-Size:14pt; height: 50px;}
.hchk02     { width: 50px; float:left;}
.hchk02 i   { color:#606161; font-Size:14px; width: 50px;  }
.hchk02 img { height: 20px;}
.hchk03     { font-Size: 13px; letter-spacing: 1px; padding-top: 5px;}




/* #******************************************************************************************************************** */
/* ***                                         Entfernungsangaben & Maps                                             *** */
/* ********************************************************************************************************************* */

#entf0 {width: 35%; float: left; letter-spacing: 1px; }
#entf0 h4  {font-Size: 14px; letter-spacing: 1px; line-height: 1.5; text-transform: uppercase;}

.entf1  {width: 70%; float: left; 
   color:#000000;
   font-Size: 13px; letter-spacing: 1px; line-height: 2;
   text-align: left;
}
.entf2 { padding-left: 10px;}
.entf3 { width: 30%; padding-right: 20px; float: left; font-Size: 13px; letter-spacing: 1px; line-height: 1.5; text-align: right; }


#map { float: left; width: 63%; margin-left: 2%; margin-top: 30px;}


/* #******************************************************************************************************************** */
/* ***                                         good to know                                                          *** */
/* ********************************************************************************************************************* */

#hgtk01 {margin-top: 0;}

.yyyy { 
   margin-top: 200px; margin-right: 2%; margin-bottom: 100px; margin-left: 5%; 
   padding-top: 0px; padding-right: 60px; padding-bottom: 60px; padding-left: 60px;
   width: 43%;
   font-Size: 13px;
   border: solid 1px; border-color: #545454; float: left;
   line-height: 2; letter-spacing: 1px;
}

.xxxx { 
   margin-top: 200px; margin-right: 5%; margin-left: 2%; margin-bottom: 100px;
   padding-top: 0px; padding-right: 60px; padding-bottom: 60px; padding-left: 60px; 
   width: 43%;
   font-Size: 13px;
   border: solid 1px; border-color: #545454; float: left;
   overflow-wrap: break-word;
   line-height: 2; letter-spacing: 1px;
}

.xxxx td { font-Size: 13px; letter-spacing: 1px;}

.xxxxid  { max-width: 120px; min-width: 90px;font-Size: 14pt; color: #808080; vertical-align: top; }

.xxxxref           { color: #000000; list-style: none; }     
.xxxxref:focus     { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref a         { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref a:visited { color: #000000; list-style: none; outline: none; cursor: pointer;}

.xxxxref td a         { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td a:visited { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td           { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td:visited   { color: #000000; list-style: none; outline: none; cursor: pointer;}

}

/*  ###############################################################################################################################################################################################  */
/*  ##                         Media Screen max. 1250 x 1050 // iPad Landscape                                                                                                                   ##  */ 
/*  ###############################################################################################################################################################################################  */

@media screen and (max-width: 1250px) {
  
.vico02 {font-size: 10px;}    
.vico02 i {font-size: 10pt;}
.vico02 img {height: 18px; padding-bottom: 3px;}    
    
/* -------------------------------------- Hotel, Anschrift */   
#h_name {font-Size:30pt;}
#h_anschrift {font-Size:10pt; }

#h_sterne    {font-Size: 12px; }
#h_name h1   {font-size: 30px;}
#h_anschrift {font-Size: 12px; }



/* -------------------------------------- Hoteltext */
#hoteltext { padding-top: 30px; padding-bottom: 0px; padding-right: 0px; padding-left:0px; margin-left: 5%;  
   font-Size: 13px; overflow-y: auto; line-height: 1.5; letter-spacing: 1px;}
#hoteltext h3 { font-size: 34px;}
#hoteltext h4 { font-size: 20px;}

#vroomstext { margin-left: 15%; margin-right: 15%; font-Size: 13px;}

/* -------------------------------------- ROOMS Overview */
.rooms001 h2 { font-size: 40px;}
.zname       { font-size: 24px; letter-spacing: 1px;}

.zcolumn3 { float: left; width: 290px; margin-left: 10px; margin-right: 10px; float: left;  }
.zcontent { position: relative; display: block; animation-name: fade; animation-duration: 1.5s;}
.zrow3    { width: 930px; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}
.zleft, .zright {height: 382px;}


/* -------------------------------------- ROOMS Details */
.raccordion {
   padding-left: 50px;
   margin-right: 7%; margin-left: 7%; 
   font-weight: normal;
   border: none;
   background-color: transparent;
   cursor: pointer;
   width: 100%;
   text-align: left;
   outline: none;
   font-size: 26px;
   transition: 1s;
}

.rpanel {
  position: relative;
  background-color: transparent;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
  z-index: 4;
}


.rpanelimg { width: 60%; position: relative; padding: 0; height: 100%; }
.rpanelimg img  { width: 100%; height: 100%; object-fit: cover;}





.rpaneltxt { 
   text-align: justify; 
   position: relative;
   width: 40%;
   float:left;
   background-color: #e6e3e3; 
   padding-top: 30px; padding-left: 40px; padding-right: 40px; padding-bottom: 20px; 
   overflow-y: auto;
   height: 100%;
   font-size: 12px; letter-spacing: 1px; line-height: 1.5;
}

.rpanelHead h3 { letter-spacing: 1px; font-size: 26px; padding-bottom: 20px; text-align: left; }
.rpanelBody p  { letter-spacing: 1px; font-size: 12px; line-height: 1.8; margin-bottom: 50px;  }
.rpanelBody li { letter-spacing: 1px; font-size: 11px; line-height: 1.8; margin-left: -25px;  }

.h_zimmer_preis { font-size: 12px; margin-top: 14px;}
.h_zimmer_info  { font-size: 12px; margin-top: 30px; margin-bottom: 30px;}
.rzk2           { font-size: 10pt; margin-bottom: 30px;}


.zpanels {
    position: absolute;
    top: -10%;
    height: 120%;
}

.zstageVilla {width: 100%;}



/* -------------------------------------- Facilities */

.accordion {
   padding-top: 15px; padding-bottom: 15px; padding-left: 0px;
   margin-top: 50px; margin-right: 10%; margin-bottom: 3px; margin-left: 10%; 
   font-weight: normal;
   border: none;
   border-bottom: 0.5px solid #cccccc;
   background-color: transparent;
   cursor: pointer;
   width: 80%;
   text-align: left;
   outline: none;
   font-size: 20px;   
   transition: 1s;
   letter-spacing: 2px; 
   color: inherit; text-decoration: none;
}
.accordion h2  {font-size: 20px; width: 97%; float: left; padding-bottom: 10px; }
.accordion:focus   { outline: none;}
.accordion:visited { outline: none;}
.accactive, .accordion:hover { background-color: transparent;}


.panel {
  padding-top: 0px; padding-right: 10%; padding-bottom: 0px; padding-left: 10%;
  background-color: transparent;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
}

.hico00     { margin-top: 30px;}
.hico01     { width: 50%; float: left; font-Size:12px; height: 40px;}
.hico02     { width: 50px; float:left;}
.hico02 i   { height: 20px; color:#606161; font-Size:12px; width: 50px;  }
.hico02 img { height: 20px;}
.hico03     { font-Size: 12px; letter-spacing: 1px; padding-top: 2px;}


.aicons .hico03 {font-Size: 12px;}

/* -------------------------------------- DINING Overview */
.dining001 h2 { font-size: 40px;}

.rcontent      { position: relative; background-color: transparent; }
.rcontent img  { height: 43vw;  object-fit: cover;}

/*--- Dining Name & Text ---*/
.rname {
    position: absolute; 
    top: 40.5vw;
    padding-left: 20px; padding-right: 20px;
    height: 200px; width: 90%; margin-right: 5%; margin-left: 5%;
    font-size: 12px; letter-spacing: 1px; line-height: 1.5;
    background-color: #e6e3e3; opacity: 0.9;
}
.rname h3 {
   padding-top: 10px;
   font-size: 24px; letter-spacing: 1px;
   text-transform: uppercase;
   text-align: center;
}
.rname p {
   text-align: justify;
   font-size: 12px; letter-spacing: 1px; line-height: 1.5;
   overflow: hidden;
   display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; line-clamp: 3;
}

/* -------------------------------------- DINING Details -----------------------------------------------------------------------*/
.daccordion {
   padding-left: 50px;
   margin-right: 100px; margin-left: 100px; 
   font-weight: normal;
   border: none;
   background-color: #efecec;
   cursor: pointer;
   width: 100%;
   text-align: left;
   outline: none;
   font-size: 30px;
   transition: 1s;
}
.dpanel {
  padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0;
  background-color: transparent;
/*  max-height: 1000px;*/
  overflow: hidden;
  transition: max-height 0.5s ease-out;
  z-index: 100;
  position: relative;
}
.dpanel .scroll-arrow {right: 20px; top: initial; bottom: 0; z-index:10;}

.dpanelimg      { height: 500px; margin-top: 40px; padding-top: 0; padding-left: 40px; width: 60%; float:left; position: relative;}
.dpanelimg img  { height: 500px; object-fit: cover;}

.dpaneltxt { 
  text-align: justify;
  font-size: 12px; letter-spacing: 1px;
  width: 40%; 
  float:left;
  background-color: transparent;  /*  #e6e3e3;  */ 
  padding-top: 40px; padding-left: 40px; padding-right: 40px; padding-bottom: 30px;
  overflow-y: auto;
}

.dpaneltxt.scrollarrow {right: 20px;}

.dpanelHead h3 { font-size: 26px; letter-spacing: 1px; }
.dpanelBody    {height: calc(100vh - 200px); overflow-y: auto; z-index: 2; padding-bottom: 20px; }  /* Resthöhe 100% - img - h3 */
.dpanelBody h4 { font-size: 20px; }
.dpanelBody p  { font-size: 12px; letter-spacing: 1px; line-height: 1.8;} 
.dpanelBody a  { font-size: 12px; letter-spacing: 1px;}
.dpanelBody a:hover { background-color: #717171; color: #ffffff; padding-left: 10px; padding-right: 10px; margin-left: -10px;}


.r1001, .r1002, .r1003 { padding-top: 30px; width: 100%;}

.r1001 h4 {  font-Size: 13px; padding-bottom: -50px;}
.r1002 h4 {  font-Size: 13px; padding-bottom: -50px;}
.r1003 h4 {  font-Size: 13px; padding-bottom: -50px;}

.d1004 h4 { padding-bottom: -10px;}

/* -------------------------------------- YMAL Overview */
.also001 h2 { font-size: 40px;}
.btext  { font-size: 24px; letter-spacing: 2px; margin-right: 0; margin-left: 0; width: 100%; }
.acontent img    { height: 50vw; }
.atext, .afiller { height: 50vw; float: left; width: 50%;} 

/* -------------------------------------- YMAL Details ------------------------------------------------------------------------*/

.atextHead h3 {font-size: 28px;}
.atextInfo {font-size: 12px;}
.atextBody {height: 380px;}
.atextMenu {left:50px; padding-top: 40px;}

.vtext {font-size: 13px;}




.tab {
  overflow: hidden;
  border-Bottom: 1px solid #ccc;
  background-color: #f1f1f1;
  margin-left: 20px; margin-right: 20px; outline: none;
}

.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
  font-size: 14px; letter-spacing: 1px; outline: none;
}

.tab button:hover  { background-color: #ddd; outline: none;}
.tab button.activ  { background-color: #ccc; outline: none;}

.tabcontent { overflow-y: auto; }
.tabdisplay { display: block;}  

.m_text {
   margin-top: 20px; margin-bottom: 20px; margin-left: 20px; margin-right: 20px;
   color: #000000;
   font-Size: 13px;
   letter-spacing: 1px; line-height: 2;
   text-align: justify;
}
.m_text p   {font-Size: 12px; line-height: 1.8;}
.m_text li  {font-Size: 12px; line-height: 1.5;}

.hfooter    {font-Size: 12px; letter-spacing: 1px; margin-top: 20px; }
.hfooter h4 {font-size: 12px; letter-spacing: 1px; padding-bottom: 0px; } 



.aicons {
   margin-left: 20px;
   margin-right: 20px;
   padding-top: 20px;   
   padding-bottom: 20px;
   text-align: left;
}

.acapacities { padding-top: 40px;} 

.ovdetails         { margin-left: 20px; margin-top: 20px; text-align: left; font-Size: 15px; letter-spacing: 1px; }
.ovdetails a:hover { background-color: #717171; color: #ffffff; padding-left: 10px; padding-right: 10px; margin-left: -10px;}


/* -------------------------------------- Hygiene */
.hchk00     { margin-top: 30px;}
.hchk01     { width: 50%; float: left; font-Size:14px; height: 50px;}
.hchk02     { width: 50px; float:left;}
.hchk02 i   { height: 20px; color:#606161; font-Size:12px; width: 50px;  }
.hchk02 img { height: 20px;}
.hchk03     { font-Size: 12px; letter-spacing: 1px; padding-top: 2px;}
 
/* -------------------------------------- Floor Plans */

#vfloors    { width: 20%; float: left; margin-bottom: 30px;}
#vfloorplan { max-width: 80%; max-height: 80%; margin-top: 50px;}
.vfloorname { font-size: 12px;}

/* -------------------------------------- Entfernungen */

#entf0 {width: 35%; float: left; letter-spacing: 1px; padding-right: 10px;  }
#entf0 h4 {font-Size: 14px; letter-spacing: 1px; line-height: 1.5; text-transform: uppercase;}

.entf1  {width: 70%; font-Size: 12px; letter-spacing: 1px; line-height: 1.8; }
.entf3 { width: 30%; font-Size: 12px; letter-spacing: 1px; line-height: 1.8; }

/* -------------------------------------- Maps */
#map { float: left; width: 63%;}



/* -------------------------------------- Direct Booking Benefits */

#xdbb01 { width: 65px; height: 60px; font-Size: 10px; letter-spacing: 1px; padding: 5px 5px;}
#xdbb02 { top: 260px; font-Size: 13px; }
#xdbb02 li {font-Size: 13px; letter-spacing: 1px; line-height: 2;}
#xdbb02>h4 {display: none;}
#xdbb02>p  {padding-left: 28px;}

/* -------------------------------------- good to know */

#hgtk01 {background-color:transparent; height: unset; width: 100%; margin-top: 150px;}

.yyyy { 
   position: relative; width: 45%;
   background-color: transparent; 
   margin-top: 120px; margin-right: 2%; margin-left: 3%; margin-bottom: 100px; 
   padding-top: 0px; padding-right: 30px; padding-bottom: 50px; padding-left: 50px;
   font-Size: 13px;
   border: solid 1px; border-color: #545454; float: left;
   line-height: 1.8; letter-spacing: 1px;
}
.yyyy > img { position: relative; top: -60px; height: 100px; text-align: center; margin: auto; display: block; }

/* -------------------------------------- get in touch */

.xxxx { 
   position: relative; width: 45%;
   background-color: transparent; 
   margin-top: 120px; margin-right: 3%; margin-left: 2%; margin-bottom: 100px;
   padding-top: 0px; padding-right: 50px; padding-bottom: 50px; padding-left: 50px; 
   font-Size: 13px;
   border: solid 1px; border-color: #545454; float: left;
   line-height: 1.8; letter-spacing: 1px;
}

.xxxx>img { position: relative; top: -60px; height: 100px; text-align: center; margin: auto; display: block; }
.xxxx td { font-Size: 14px; }

.xxxxid  { max-width: 120px; min-width: 90px;font-Size: 14pt; color: #808080; vertical-align: top; }

.xxxxref           { color: #000000; list-style: none; overflow-wrap: anywhere; }     
.xxxxref:focus     { color: #000000; list-style: none; outline: none; cursor: pointer; }
.xxxxref a         { color: #000000; list-style: none; outline: none; cursor: pointer; }
.xxxxref a:visited { color: #000000; list-style: none; outline: none; cursor: pointer;}

.xxxxref td a         { color: #000000; list-style: none; outline: none; cursor: pointer; }
.xxxxref td a:visited { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td           { color: #000000; list-style: none; outline: none; cursor: pointer; }
.xxxxref td:visited   { color: #000000; list-style: none; outline: none; cursor: pointer;}

.h-ico1           { font-Size:12pt;}
.h-ico1:focus     { color: #000000; outline: none;}
.h-ico1 a         { color: #000000;}
.h-ico1 a:visited { color: #000000;}

.h-ico2           { text-align: left;}
.h-ico2 a         { color:#cccccc; font-Size:20pt; vertical-align: bottom;}
.h-ico2 a:hover   { color:#777777;}
    
}


/*  #########################################################################################  */
/*  ##                         Media Screen max. 1100 x nnnn  // iPad senkrecht            ##  */ 
/*  #########################################################################################  */

@media screen and (max-width: 1100px) {
  
#h99img     {display: none;}

}

/*  #########################################################################################  */
/*  ##                         Media Screen max. 1000 x nnnn  // iPad senkrecht            ##  */ 
/*  #########################################################################################  */

@media screen and (max-width: 1000px) {

#vheader {
  display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 4px 30px;   /* vertikal | horizontal Abstand */
    padding-bottom: 10px; padding-left: 60px;
}
 
    
.toprightY00 {display: none;}     
    
/* ------------------------------ Hotel, Anschrift */

#h_image { margin: 0; margin-top: 70px; margin-bottom: 80px; width: auto;}
#h_image img {height: auto; width: 100%; object-fit: inherit;} 
#h_like { margin-top: -105px; position: absolute; width: 50px; right: 70px;}
#h_sterne { margin-left: 80px; font-Size: 10px; z-index: 11111; }
#h_name   { margin-left: 80px; font-Size: 20px; margin-top: -20px; letter-spacing: 1px; }
#h_name h1 {font-Size: 26px;}
#h_anschrift { margin-left: 80px; margin-top: -20px; margin-bottom: 20px; font-Size:12px; letter-spacing: 1px; }
    
/* ------------------------------ Hoteltypen */

#h_typdiv { margin-left: 80px; margin-bottom: 60px; }
.h_typ { width: 80px; margin-right: 10px; margin-top: 10px; }

/* ------------------------------ Collage */

#h_boxx { background-color: transparent; padding-top: 3px; padding-bottom: 50px;}
#h_box0 { margin-left: 80px; margin-right: 80px;}
#h_box1 { position: relative; z-index: 5; float: none; width: 100%; height: 80vw; background-color: #ffffff; padding: 0;}
#hcollage { margin-bottom: 20px; text-align: left; vertical-align: top; font-size: 12pt; margin-top: 0px; width: auto;}
.hpointer {cursor: pointer;}
.h_handyx { margin-left: 0; margin-top: 15px; }

/* ------------------------------ Hoteltext */

#hoteltext { text-align: justify;
   float: none; width: 100%; background-color: transparent; margin-left: 0; margin-right: 0; margin-top: 80px;
   padding: 50px 0 0 0; 
   font-Size: 14px; display: block; 
   overflow-y: auto; line-height: 2; letter-spacing: 1px;
}

#hoteltext h3 { font-size: 30px;}
#hoteltext h4 { font-size: 24px;}   
 

#vheader {border-top: 1px solid #ffffff;}
#vroomstext { margin-left: 10%; margin-right: 10%; margin-bottom: 70px;}




/* -------------------------------------- ROOMS Details */

.rooms001  h2 {font-size: 35px; margin: 120px auto 40px auto;}
.dining001 h2 {font-size: 35px; margin: 120px auto 40px auto;}
.also001   h2 {font-size: 35px; margin: 120px auto 40px auto;}

.rpanelimg {width: 100%; position: relative; padding: 0; height: 500px;}
.rpanelimg img {height: 500px; object-fit: cover;}

.rpaneltxt { 
   text-align: justify; 
   position: relative;
   width: 100%; height: fit-content; float: none;
   background-color: #e6e3e3; 
   padding-top: 70px; padding-left: 80px; padding-right: 80px; padding-bottom: 30px; 
   overflow-y: auto;
   font-size: 12px; letter-spacing: 1px; line-height: 1.5;
}

.zcolumn3 { float: left; width: 290px; margin-left: 10px; margin-right: 10px; float: left;  }
.zcontent { position: relative; display: block; animation-name: fade; animation-duration: 1.5s;}
.zrow3    { width: 620px; position: relative; float: left; height: 100%; background-color: transparent; overflow: hidden;}
.zleft, .zright {height: 382px;}


/* Close-Button im Panel */
.zpanel-close { padding: 0; }
.zpanel-close img {width: 25px; height: 25px; }

.zpanels {
    top: 0;
    height: fit-content;
    background-color: transparent;
}

.hvrooms {height: fit-content;}

/* ------------------------------- DINING Details */

.tile {height: 50vw;}

.toprightD00 {top: 510px; right: 10px; padding: 0;}

.dpanelimg      { width: 100%; height: 500px; float:none; position: relative; padding: 0; margin-top: 0;}
.dpanelimg img  { height: 500px; object-fit: cover;}

.dpanel {max-height: 100vh;}
.dpanel .scroll-arrow {right: 5px; top: 60px; bottom: inherit; z-index: 10;}

.dpaneltxt { 
  text-align: justify; 
  font-size: 12px; letter-spacing: 1px;
  width: 100%; height: 100%; float: none; position: relative;
  background-color: #e6e3e3; 
  padding-top: 30px; padding-left: 80px; padding-right: 80px; padding-bottom: 30px;
  overflow-y: auto;
}
.dpanelBody {height: calc(100vh - 500px); overflow-y: auto; z-index: 2; padding-bottom: 80px;}  /* Resthöhe 100% - img - h3 */

 
/* -------------------------------------- Facilities */
.accordion {
   margin-top: 50px; margin-right: 5%; margin-bottom: 3px; margin-left: 5%; 
   width: 90%;}

/*------------------------------ DINING */
.rcontent      { position: relative; background-color: transparent; }
.rcontent img  { height: 43vw; object-fit: cover;}

/*--- Dining Name & Text ---*/
.rmain { margin-left: 5%; width: 90%; margin-right: 5%;}
.rname {
    position: absolute; 
    top: 40vw;
    padding-left: 20px; padding-right: 20px;
    height: 200px; width: 90%; margin-right: 5%; margin-left: 5%;
    font-size: 12px; letter-spacing: 1px; line-height: 1.5;
    background-color: #e6e3e3; opacity: 0.9;
}
.rname h3 {
   padding-top: 10px;
   font-size: 22px; letter-spacing: 1px;
   text-transform: uppercase;
   text-align: center;
}
.rname p {
   text-align: justify;
   font-size: 12px; letter-spacing: 1px; line-height: 1.5;
   overflow: hidden;
   display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; line-clamp: 3;
}

/* ----------------------------------------- YMAL */

.yflexa       { position: relative; display: flex; flex-direction: column;}
.yflexb       { position: relative; display: flex; flex-direction: column-reverse;}
.acolumn      { width: 100%;}
.acontent img {height: 70vw;}
.atext        {height: fit-content; float: none; width: 100%;}
.atextBody    {height: fit-content; padding-bottom: 70px;}
.atextMenu {display: none;}


.vtext {font-size: 13px; padding: 30px; padding-bottom: 50px; height: fit-content;}
.vtextHead  {padding-left: 30px; padding-top: 30px; padding-right: 30px;}
.vtextHead h3 {font-size: 22px;}

.vtextcenter {position: relative; height: 150px; }
.vtextcenter h3 { font-size: 22px; }

/* ----------------------------------------------------------------------------- */

.hico00     { margin-top: 20px;}
.hico01     { width: 50%; float: left; font-Size:12px; height: 40px;}
.hico02     { width: 30px; float:left;}
.hico02 i   { color:#606161; font-Size:12px; width: 20px; margin-right: 5px; }
.hico02 img { height: 15px;}
.hico03     { font-Size: 12px; letter-spacing: 1px; padding-right: 20px;}

/* -------------------------------------- Hygiene */

.panel {padding-left: 5%;}

.hchk00     { margin-top: 30px;}
.hchk01     { width: 100%; float: left; font-Size:14px; height: 40px;}
.hchk02     { width: 50px; float:left;}
.hchk02 i   { height: 20px; color:#606161; font-Size:12px; width: 50px;  }
.hchk02 img { height: 20px;}
.hchk03     { font-Size: 12px; letter-spacing: 1px; padding-top: 2px;}

/* -------------------------------------- Floor Plans */

#vfloors    { width: 80%; float: left; margin-bottom: 30px;}
#vfloorplan { max-width: 100%; max-height: 90%; margin-top: 0;}
.vfloorname { font-size: 12px;}

/* ------------------------------ Entfernungsangaben & Maps */

#entf0 {position: relative; width: 94%; float: none; height: auto; letter-spacing: 1px; margin-left: 3%; margin-right: 3%; padding-bottom: 50px; padding-right: 0;}
#entf0 h4  {font-Size: 14px; letter-spacing: 1px; line-height: 1.5; text-transform: uppercase;}

.entf1  {width: 70%; float: left; 
   color:#000000;
   font-Size: 12px; letter-spacing: 1px; line-height: 2;
   text-align: left;
}
.entf2 { padding-left: 0;}
.entf3 { text-align: right; width: 30%; padding-right: 0; float: left; font-Size: 12px; letter-spacing: 1px; line-height: 1.5;}

/* ------------------------------ Google Maps */

#map { position: relative; float: none; width: 100%; background-color: #eeeeee; height: 600px; margin-top: 50px;}

/* ------------------------------ good to know */

#hgtk01 {background-color:transparent; height: unset; width: 100%; margin-top: 100px;}

.yyyy { 
   position: relative; 
   background-color: transparent; 
   margin-top: 150px; margin-right: 10%; margin-bottom: 50px; margin-left: 10%; 
   padding-top: 0px; padding-right: 10px; padding-bottom: 40px; padding-left: 10px;
   width: 80%;
   font-Size: 13px;
   border: none;
   border-top: 0.5px solid #cccccc;
   float: none;
   line-height: 1.8; letter-spacing: 1px;
}

/* ------------------------------ get in touch */

.xxxx { 
   position: relative;
   background-color: transparent; 
   margin-top: 0px; margin-right: 10%; margin-left: 10%; margin-bottom: 0;
   padding-top: 0px; padding-right: 10px; padding-bottom: 50px; padding-left: 10px; 
   width: 80%;
   font-Size: 13px;
   line-height: 1.8;
   border: none;
   border-top: 0.5px solid #cccccc;
   overflow-wrap:anywhere;
   line-height: 1.8; letter-spacing: 1px;
}

.tabcontent {display: block;}
    
.acc h4           { margin-top: 30px; border-top: 0.5px solid #cccccc; width: 100%; font-size: 12px;} 
.acc h4 span    {font-size: 12px;}
.acc-trigger span     { padding-top: 15px; width: 90%;} 
.acc-trigger i   { margin-top: 20px; color: #545454; } 
}

/*  #########################################################################################  */
/*  ##                         Media Screen max. 700 x xxxx // iPhone                      ##  */ 
/*  #########################################################################################  */

@media screen and (max-width: 700px) {

.zpanel {background-color: transparent;}    
    
    
#vheader {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 4px 30px;   /* vertikal | horizontal Abstand */
  padding-bottom: 10px; padding-left: 0; 
}    
 
.toprightA00 {display: none;}    
.toprightR00 {padding: 10px;}    
.toprightD00 {top: 410px; right: 10px; padding: 0;}    
.toprightY00 {display: none;}    
#h99close    {padding: 10px;}    

#h99pos {margin-top: 100px; }
.f0000  {margin-top: 100px; }

#h99div    {width: 90%; bottom: 7px; left: 5%; transform: none;}
#h99book a {width: 49.5%; }
#h99dbb    {width: 49.5%;}
#h99disp   {width: 100%; height: 100%; left: 0; top:0; padding: 20px;}   
#h99cont   {width: 100%; text-align: initial; padding-left: 0; padding-right: 0;}  

#h98div #h99book a {width: 100%; }

/* ------------------------------ Hotel, Anschrift */

#h_image { margin: 0; margin-top: 60px; margin-bottom: 80px; width: auto;}
#h_image img {height: auto; width: 100%; } 
#h_like { margin-top: -105px; position: absolute; width: 50px; right: 70px;}

#h_like {
   margin-top: -100px;
   padding-top: 10px;
   position: absolute; 
   width: 40px; height: 40px;
   right: 60px;
   background: #ffffff; 
   border-radius:50px 50px 50px 50px; opacity: 0.5; text-align: center;
}
#h_like i {font-size: 20px; }





#h_sterne { margin-left: 3%; font-Size: 10px; z-index: 11111; }
#h_name { margin-left: 3%; font-Size: 24px; margin-top: -30px; letter-spacing: 1px; }
#h_name h1 {font-Size: 22px; }
#h_anschrift { margin-left: 3%; margin-top: -20px; margin-bottom: 20px; font-Size: 11px; letter-spacing: 1px; }
    
/* ------------------------------ Hoteltypen */

#h_typdiv { margin-left: 3%; margin-bottom: 60px; }
.h_typ { width: 80px; margin-right: 10px; margin-top: 10px; }

/* ------------------------------ Collage */

#h_boxx { background-color: transparent; padding-top: 3px; padding-bottom: 50px;}
#h_box0 { margin-left: 0; margin-right: 0;}
#h_box1 { position: relative; z-index: 5; float: none; width: 100%; height: 100vw; background-color: #ffffff; padding: 0;}
#hcollage { margin-bottom: 20px; text-align: left; vertical-align: top; font-size: 12pt; margin-top: 0px; width: auto;}
.hpointer {cursor: pointer;}
.h_handyx { margin-left: 3%; margin-top: 15px; }
#hgalerie02 {width: 100%;}
#hgalerie02>img { width: 100vw; max-height: 100vw;}
.dot {height: 5px; width: 5px;}
/* ------------------------------ Hoteltext */

#hoteltext { text-align: justify;
   float: none; width: 94%; background-color: transparent; margin-left: 3%; margin-right: 3%; margin-top: 40px;
   padding: 0; padding-top: 50px;
   font-Size: 12px; display: block; 
   overflow-y: auto; line-height: 2; letter-spacing: 1px;
}

#hoteltext h3 { font-size: 30px;}
#hoteltext h4 { font-size: 24px;}

#vroomstext { margin-left: 3%; margin-right: 3%; font-Size: 12px;}


.tcenter { font-Size:16pt; font-weight: bold; padding-top: 30px; padding-bottom: 20px; text-align: center;}  

/*  -------------------------- ROOMS -------------------------------------------------------- */

.rooms001 h2 { font-size: 30px; margin: 100px auto 50px auto; }
.zleft    { display: none; float: none; width: 0; margin: 0; padding: 0; height: 50px;}
.zright   { display: none; float: none; width: 0; margin: 0; padding: 0; height: 50px;}

.zprev    { display: none; float: none; width: 0; margin: 0; padding: 0; top: 225px; left:  -25px; color: #ffffff; background-color: rgba(0,0,0,0.8); border: none;} 
.znext    { display: none; float: none; width: 0; margin: 0; padding: 0; top: 225px; right: -25px; color: #ffffff; background-color: rgba(0,0,0,0.8); border: none;}


.zrow2    { width: 100%;}
.zrow1    { width: 100%;}
.zcolumn1     { margin: 0;} 
.zrooms   { position: relative; background-color: transparent; overflow: hidden;}
.zmain    { position: relative; background-color: transparent; display: block; overflow: hidden;}
.zrow3    { width: 100%; float: none; overflow-x: scroll;}
.zrow3::-webkit-scrollbar {display: none;}    
/* Chrome, Safari, Opera */
.zrow3    {-ms-overflow-style: none;          
/* IE, Edge */            
              scrollbar-width: none;}         
/* Firefox  */


#zzrooms1 { width: 6210px;transition: all 0.6s ease 0s; overflow: hidden; }

.zcolumn3     { width: 310px; height: auto; margin: 0; } 
/*.zcontent     { width: 300px; margin-right: 10px;}*/ 
/*.zcontent:first-child {margin-left: 10px;}  
.zcontent img { width: 300px; height: auto; }*/

/*  #zzrooms1 { width: 44000px; transition: all 0.6s ease 0s; overflow: hidden;}  */

.name    { width: 80%; font-size: 24px;}
.lf100   { margin-bottom: 50px;}
/*  -------------------------- ROOMS Details ------------------------------------------------ */

.raccordion {margin-right: 0; margin-left: 0;} 
.rpanel { padding-top: 0; padding-right: 0; padding-left: 0; margin-left: 0; margin-right: 0;}

.zpanel .scroll-arrow {right: 60px; top: 8px; bottom: initial; }

.rpanelimg { width: 100%; position: relative; height: 350px; }
.rpanelimg img  { height: 350px; object-fit: cover;}

.vrpanelimg { width: 100%; position: relative; height: 350px; }
.vrpanelimg img  { height: 350px; object-fit: cover;}


.rpaneltxt     { width: 100%; height: auto; padding-top: 40px; padding-left: 20px; padding-right: 20px; padding-bottom: 40px;  }  /* background-color: greenyellow; */
.rpanelHead h3 { letter-spacing: 1px; font-size: 28px; padding-bottom: 20px; text-align: left; }
.rpanelBody    {overflow-y: auto; z-index: 2; padding-bottom: 0;}  /* Resthöhe 100% - img - h3 */
.rpanelBody p  { letter-spacing: 1px; font-size: 13px; line-height: 2; margin-bottom: 50px;  }
.rpanelBody li { letter-spacing: 1px; font-size: 12px; line-height: 2; margin-left: -25px;  }


.zpanels {
    top: 0;
    height: fit-content;
    background-color: transparent;
}








/*  -------------------------- DINING ------------------------------------------------------- */

.dining001 h2 { font-size: 30px; margin-bottom: 50px;}
.rmain { margin-left: 0; width: 100%; margin-right: 0;}
.rcolumn      { width: 100%;}
.rcolumn1     { width: 100%; margin: 0;}
.rcolumn2     { width: 100%; float: none; clear: left; margin: 0;}


/*------------------------------ DINING */
.rcontent      { position: relative; background-color: transparent; }
.rcontent img  { height: 94vw; object-fit: cover;}

/*--- Dining Name & Text ---*/
.rname {
    position: absolute; 
    top: 88vw;
    padding-left: 20px; padding-right: 20px;
    height: 200px; width: 90%; margin-right: 5%; margin-left: 5%;
    font-size: 13px; letter-spacing: 1px; line-height: 1.5;
    background-color: #e6e3e3; opacity: 0.9;
}
.rname h3 {
   padding-top: 10px;
   font-size: 24px; letter-spacing: 1px;
   text-transform: uppercase;
   text-align: center;
}
.rname p {
   text-align: justify;
   font-size: 13px; letter-spacing: 1px; line-height: 1.5;
   overflow: hidden;
   display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; line-clamp: 3; 
}

/*  -------------------------- DINING Details ----------------------------------------------- */ 

.tile {width: 98%; height: 80vw;}

.tile h3 {bottom: 20px; left: 20px; font-size: 26px;}
.tiles {max-width: calc(100vw - 12px);}

.rrow { width: 100%; margin: 0; padding: 0;}   
/* #### iPhone ####  */    

.dpanel        { padding-right: 0; padding-left: 0; margin-right: 0; margin-left: 0; }
.dpanelimg     { width: 100%; height: 400px; clear: left;} 
.dpanelimg img { width: 100%; height: 400px; z-index: 1;}

.dpanel .scroll-arrow {right: 60px; top: 7px; bottom: initial; }

.dpaneltxt     { width: 100%; height: auto; clear: left; position: relative; padding-left:20px; padding-right: 20px;}
.dpanelHead h3 { font-size: 28px; text-align: left;}
.dpanelBody    {height: calc(100vh - 500px); overflow-y: auto; z-index: 2; padding-bottom: 80px;}  /* Resthöhe 100% - img - h3 */
.dpanelBody p  { font-size: 12px;}
.dflexa        { display: flex; flex-direction: column;}
.dflexb        { display: flex; flex-direction: column-reverse;}


/* ------------------------------ Zimmerausstattung / Hotelausstattung */

.accordion {
   padding-top: 15px; padding-bottom: 5px; padding-left: 0px;
   margin-top: 30px; margin-right: 5%; margin-bottom: 3px; margin-left: 5%; 
   font-weight: normal;
   border: none;
   border-bottom: 0.5px solid #cccccc;
   background-color: transparent;
   cursor: pointer;
   width: 90%;
   text-align: left;
   outline: none;
   font-size: 18px;   
   transition: 1s;
   letter-spacing: 2px;
}
.accordion img {padding-bottom: 2px;}
.accordion h2  {font-size: 16px; width: 95%; float: left; padding-bottom: 10px; }
.accordion:focus   { outline: none;}
.accordion:visited { outline: none;}
.accactive, .accordion:hover { background-color: transparent;}

.panel {
  padding-top: 0px; padding-right: 5%; padding-bottom: 0px; padding-left: 5%;
  background-color: transparent;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
}

.hico00     { margin-top: 20px;}
.hico01     { width: 90%; float: left; font-Size:13px; height: 40px;}
.hico02     { width: 30px; float:left;}
.hico02 i   { color:#606161; font-Size:12px; width: 20px; margin-right: 5px; }
.hico02 img { height: 15px;}
.hico03     { font-Size: 12px; letter-spacing: 1px; padding-right: 20px;}

.more-btn   { font-Size: 12px; letter-spacing: 1px; 
             background-color: transparent; border: none; cursor: pointer; text-align: left;}

.cZA, .cHA {display: none;}

/* ------------------------------ Accordion innerhalb YMAL */

.tabcontent .hico01 {width: 90%; height: fit-content; font-size: 13px; line-height: 2;}
.tabcontent .hico02 i { color:#606161; font-Size:12px; width: 20px; margin-right: 5px; }

/* ------------------------------ Barrierefreiheit / Hygienemassnahmen */

.hchk00     { margin-top: 20px;}
.hchk01     { width: 100%; float: none; font-Size:13px; height: 40px;}
.hchk02     { width: 30px; float:left;}
.hchk02 i   { color:#606161; font-Size:12px; width: 20px; height: 30px; padding-right: 140px; }
.hchk02 img { height: 15px;}
.hchk03     { font-Size: 13px; letter-spacing: 1px; }

/* ------------------------------ YOU MIGHT ALSO LIKE ...  */

.also001 h2      { font-size: 30px; padding-left: 20px; padding-right: 20px; margin: 200px auto 50px auto; }

.acolumn { 
   padding: 0; 
   float: none; 
   width: 100%; 
   position: relative;
}

.acontent      { position: relative; background-color: white; z-index: 4;}
.acontent img  { height: 100vw; object-fit: cover;  }

.atext, .afiller { 
   height: fit-content; float: none; width: 100%; 
   position: relative;
   background-color: #eeeeee; 
   text-align: center;
}

.atextHead {padding-left: 20px; padding-right: 20px;}
.atextHead h3 {padding-top: 40px;}
.atextBody {padding-left: 20px; padding-right: 20px; margin-left: 0; margin-right: 0; height: fit-content; padding-bottom: 40px;}

.vtext {font-size: 12px; padding: 20px; padding-bottom: 50px;}
.vtextHead  {padding-left: 20px; padding-right: 20px;}
.vtextHead h3 {padding-top: 40px;}

.atextInfo ul {padding-left: 5px; list-style-type: '-';}

.afiller {
   background-color: #efecec; 
   z-index: 5;
}

.btextold  { 
   margin-top: 250px; margin-right: 10%;  margin-left: 10%; letter-spacing: 2px; 
   position: absolute; top: 50%; left: 50%; transform: translate(-50%,50%); text-align: center;
   text-transform: uppercase;
   font-size: 35px;
}
.btext  { 
   letter-spacing: 2px; 
   position: absolute; top: 45%; left: 50%; transform: translate(-50%,-50%); text-align: center;
   text-transform: uppercase;
   font-size: 30px;
}

.seemore020 {
   background-color: #000000;
   color: #ffffff;
   font-Size: 13px;
   border: none;
   margin-top: 10px; margin-bottom: 30px;
   padding-top: 5px; padding-left: 20px; padding-right: 20px; padding-bottom: 5px;
   z-index:10;   
}


/*  -------------------------- YMAL --------------------------------------------------------- */

.yflexa          { position: relative; display: flex; flex-direction: column;}
.yflexb          { position: relative; display: flex; flex-direction: column-reverse;}
.acolumn         { width: 100%;}
.btext           { font-size: 20px;}
.tab button      { color: #000000; font-size: 12px; outline: none;}
.tabcontent      { font-Size: 13px; letter-spacing: 1px; padding-left: 0; padding-right: 0; padding-bottom: 10px; height: fit-content;}
.tabcontent h4   { font-size: 14px; letter-spacing: 1px; padding-left: 0; padding-right: 0;}

.ovdetails       { font-Size: 13px; letter-spacing: 1px; margin: 0; text-align: left; }
.ovdetails h4    { font-size: 14px; letter-spacing: 1px; padding-left: 0; padding-right: 30px;}

.m_text          { font-size: 13px; letter-spacing: 1px; margin: 0; margin-top: 10px; margin-bottom: 10px; }
.m_text p        { font-size: 13px; letter-spacing: 1px; }
.m_text li       { font-size: 12px; letter-spacing: 1px;  }
.hfooter         { font-Size: 13px; letter-spacing: 1px; }
.hfooter h4      { font-size: 14px; letter-spacing: 1px; padding: 0;} 

.tabcontent .aicons {margin-left: 0; margin-right: 0;}
    
/* ------------------------------ Entfernungsangaben & Maps */

#entf0 {position: relative; width: 94%; float: none; height: auto; letter-spacing: 1px; margin-left: 3%; margin-right: 3%; padding-bottom: 50px; padding-right: 0;}
#entf0 h4  {font-Size: 13px; letter-spacing: 1px; line-height: 1.5; text-transform: uppercase;}

.entf1  {width: 80%; float: left; 
   color:#000000;
   font-Size: 12px; letter-spacing: 1px; line-height: 1.8;
   text-align: left;
}
.entf2 { padding-left: 0;}
.entf3 { text-align: right; width: 20%; padding-right: 0; float: left; font-Size: 12px; letter-spacing: 1px; line-height: 1.5;}

/* ------------------------------ Google Maps */

#map { position: relative; float: none; width: 100%; background-color: #eeeeee; height: 600px; margin-top: 50px;}

/* ------------------------------ good to know */

#hgtk01 {background-color:transparent; height: fit-content; width: 100%; margin-top: 100px;}

.yyyy { 
   position: relative;
   background-color: transparent; 
   margin-top: 200px; margin-right: 5%; margin-bottom: 100px; margin-left: 5%; 
   padding-top: 0px; padding-right: 10px; padding-bottom: 50px; padding-left: 10px;
   width: 90%;
   font-Size: 13px;
   border: none;
   border-top: 0.5px solid #cccccc;
   float: none;
   line-height: 1.8; letter-spacing: 1px;
}
.yyyy>img { position: relative; top: -50px; height: 80px; text-align: center; margin: auto; display: block; }


/* ------------------------------ get in touch */

.xxxx { 
   position: relative;
   background-color: transparent; 
   margin-top: 0px; margin-right: 5%; margin-left: 5%; margin-bottom: 0;
   padding-top: 0px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; 
   width: 90%;
   font-Size: 13px;
   line-height: 1.8;
   border: none;
   border-top: 0.5px solid #cccccc;
   overflow-wrap:anywhere;
   line-height: 1.8; letter-spacing: 1px;
}

.xxxx>img { position: relative; top: -50px; height: 80px; text-align: center; margin: auto; display: block; }

.xxxx td { font-Size: 13px; }

.xxxxid  { max-width: 120px; min-width: 90px; font-Size: 13px; color: #808080; vertical-align: top; }

.xxxxref           { color: #000000; list-style: none; }     
.xxxxref:focus     { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref a         { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref a:visited { color: #000000; list-style: none; outline: none; cursor: pointer;}

.xxxxref td a         { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td a:visited { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td           { color: #000000; list-style: none; outline: none; cursor: pointer;}
.xxxxref td:visited   { color: #000000; list-style: none; outline: none; cursor: pointer;}

.h-ico1           { font-Size:12pt;}
.h-ico1:focus     { color: #000000; outline: none;}
.h-ico1 a         { color: #000000;}
.h-ico1 a:visited { color: #000000;}

.h-ico2           { text-align: left;}
.h-ico2 a         { color:#cccccc; font-Size:20pt; vertical-align: bottom;}
.h-ico2 a:hover   { color:#777777;}

/* ------------------------------ Direct Booking Benefits */

#xdbb01    {display: none;}
#xdbb02    {display: none; position: fixed;
            width: 85%; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 55;
            border: 1px solid #ffffff; border-radius:8px 8px 8px 8px;}
#xdbb02 h4 {display: block; text-align: center; color: #ff865f;}
#xdbb05    {display: none; position: fixed; bottom: 10px; right: 10px; width: 50px; height: 50px; border: none; border-radius:4px 4px 4px 4px;
            color: #ffffff; background-color: #ff865f; z-index: 20; padding: 13px; cursor: pointer; }
#xdbb05 i  {text-align: center; z-index: 9; position: fixed; font-size: 24px; color: #ffffff; } 

/* ------------------------------ BOOK NOW */

#h9951 {
   height: 100px;
   position: relative;
   margin-bottom: 100px;
}

#h9952 {
   margin: 0;
   position: absolute;
   top: 50%;
   left: 50%;
   -ms-transform: translate(-50%, -50%);
       transform: translate(-50%, -50%);
}

.h9953 {
   background-color:  #ff865f;
   color: #ffffff;
   font-Size: 16px; letter-spacing: 2px;
   padding-top: 5px;
   padding-left: 30px;
   padding-right: 30px;
   padding-bottom: 5px;
   border: none;
   border-radius:10px 10px 10px 10px;
}

.h9953:hover { padding-left: 40px; padding-right: 40px;}
.h9953:focus { outline: none; color: #ffffff;}
.h9953 a     {                color: #ffffff;}
.h9953 a:visited {            color: #ffffff;}

.acc h4           { margin-top: 30px; border-top: 0.5px solid #cccccc; width: 100%;} 
.acc h4 span      {font-size: 14px;}
.acc-trigger span     { padding-top: 15px; width: 90%;} 
.acc-trigger i   { margin-top: 20px; color: #545454; } 

/*---------- Join our Newsletter -------------------------------------------------------------*/

#ssubs001 h3 {margin: 0; font-Size:24px; line-height: 1.2; font-weight: normal; letter-spacing: 1px;}
}
