/* =============================================================================
Framework Style BACHMANN      

blau #1F3A57 
rot #B6100E 
gold #D5AE67 
fastweiss #F2F2F2

hellgrau #CFD0D0
dunkelgrau #6F6F6E 
beige #EEDEC2

robotoregular, robotobold
roboto_condensedregular, roboto_condensedbold
playfair_displaybold, playfair_displayregular
================================================================================ */


/* =============================================================================   General  ===================================================================================== */

body,input,button,select,textarea,h1,h2,h3,h4,h5,h6{font-family:'roboto_condensedregular',sans-serif; }  
*:focus,a:focus,button:focus ,.btn:focus, select:focus, option:focus {border:0;outline:none;}
b,strong{font-weight: bold;}                                          
footer b, footer strong{font-weight: bold;}
a,a:link,a:visited,a:active,a:focus{color:#B6100E;text-decoration:none;}
a:hover{color:#B6100E;text-decoration:none;}
body,p{font-size:16px;line-height: 28px;font-weight: normal;letter-spacing:0;}
.btn{font-size:16px;}
a.btn,button.btn{border:0 !important;border-radius:0 !important;}
a.btn-default:active,a.btn-default:hover,a.btn-default:focus,a.btn-default:visited,button.btn-default:active,button.btn-default:hover,button.btn-default:focus,button.btn-default:visited{}
.navbar-nav > li > a{}     
.navbar-nav > li >ul > li > a{}
#footer {}    
/* experimentell:Silbentrennung */
/*
#wrap *{-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;}
*/
iframe{width:100% !important;border:0;}
html{min-height:100%;overflow-y:scroll;}
body{min-height:100%;}
a[href^="tel:"]{white-space:nowrap;}
hr{ clear: both; width: 100%; }
             
/* =============================================================================   Specials   ===================================================================== */

.ls-icon { width: auto; height: 38px; }     
.embed-responsive-4by3::before { padding-top: 75%; }

/* =============================================================================   Dimensions  and Colors   ===================================================================== */
body { background: #ffffff; color: #6F6F6E; }
header { background-color: transparent; position: relative; background-position: center center; background-repeat: no-repeat; background-size: cover; }  
#wrap { width: 100%; overflow-x: hidden; }
.container { max-width: 1430px; position: relative; z-index: 2; }
.container-fluid { padding: 0; overflow-x: hidden;  }
section { position: relative; background-position: center center; background-size: cover; background-repeat: no-repeat; }


footer {}                                                                                   
#footer_upper { background: #1F3A57; color: #fff; text-align: center; padding: 60px 0 0; }   
#footer_lower { background: #D5AE67; color: #fff; text-align: center; padding: 20px 0; }   
.footer_links { display: inline-block; font-size: 17px; line-height: 32px; text-transform: uppercase; font-family: "roboto_condensedregular", sans-serif; }
.footer_links a { color: #fff; display: inline-block; padding: 0 10px; vertical-align: middle; border-bottom: 1px solid transparent; }     
.footer_links a:hover { border-bottom: 1px solid #fff; }
.footer_social { display: inline-block;  padding-left: 10px; }   
.footer_social a { display: inline-block; height: 32px; width: 38px; background-position: center center; background-repeat: no-repeat; vertical-align: middle; }
.footer_social a.icon-tw { background-image: url('../media/twitter.svg'); background-size: contain; }     
.footer_social a.icon-fb { background-image: url('../media/facebook.svg'); background-size: contain; }
.footer_social a.icon-ig { background-image: url('../media/pinterest.svg'); background-size: contain; }        
.footer_social a.icon-yt { background-image: url('../media/youtube.svg'); background-size: contain; }   

#footer_upper h6 { font-family:'playfair_displaybold',sans-serif; font-size: 28px; line-height: 26px; color: #D5AE67; margin: 20px 0 0 0; padding: 0; }      
#footer_upper p { font-family:'roboto_condensedregular',sans-serif; font-size: 13px; line-height: 26px; color: #8f9cab; text-transform: uppercase; margin: 0; padding: 0; }
#footer_upper hr { width: 38px; margin: 5px auto 10px auto; padding: 0; border-top: 1px solid #D5AE67; }           
#footer_upper .linktext { display: inline-block; font-family:'roboto_condensedregular', sans-serif; font-size: 22px; line-height: 29px; color: #fff; margin: 0 0 60px 0; padding: 0; letter-spacing: 0px; }


#suchcover { display: none; }
body.mitsuche #suchcover { display: block; z-index: 990; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #1F3A57; /* background: rgba(100,100,115,0.8); */ }
body.mitsuche #suchclose { cursor: pointer; display: block; position: absolute; right: 0; top: 0; bottom: auto; left: auto; width: 60px; height: 60px; background: url('../media/navi-close.svg') center center no-repeat #B6100E; background-size: contain; }
body.mitsuche .inner { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; display: flex; justify-content: center; flex-direction: column;  text-align: center; padding: 20px; }        

body.mitsuche #suchcover form  { display: block; margin: 0 auto; max-width: 500px; }     
body.mitsuche #suchcover label { font-family:'playfair_displayregular',sans-serif; font-size: 30px; line-height: 36px; color: #D5AE67; margin: 0 0 10px 0; padding: 0; display: block; width: 100%; clear: both; text-align: left; }        
body.mitsuche #suchcover input { border: 0; border-radius: 0; font-family:'roboto_condensedregular',sans-serif; font-size: 13px; line-height: 26px; text-transform: uppercase;}    
body.mitsuche #suchcover input { color: #1F3A57; background: #fff; border: 0; outline: 0 !important; min-height: 42px; width: 300px; }
body.mitsuche #suchcover form .btn-suche { background: #B6100E; color: #D5AE67; border-color: #B6100E; border: 0; text-transform: uppercase; min-height: 42px; padding: 8px 20px; font-family:'roboto_condensedregular',sans-serif; font-size: 13px; line-height: 26px; }       


body.mitstoerer #wrap { opacity: 0; }
#stoerer { display: none; }
body.mitstoerer #stoerer { display: flex; }
#stoerer  { overflow: auto; align-items: center; justify-content: center; flex-direction: column; z-index: 990; position: fixed; top: 0; left: 0; right: 0; bottom: auto; min-height: 100%; background: #1F3A57; /* background: rgba(100,100,115,0.8); */  }
#stoercontent { position: relative;   background: url('../media/bachmann-icon-hintergrund-2.svg') center center no-repeat #fff; background-size: auto 105%; width: auto; max-width: 520px; text-align: left; margin: 40px; }         
#stoercontent #stoerclose { cursor: pointer; display: block; position: absolute; right: -30px; top: -30px; bottom: auto; left: auto; width: 60px; height: 60px; background: url('../media/navi-close.svg') center center no-repeat #B6100E; background-size: contain; }
#stoerer .st_titel { padding: 30px 40px 15px 40px; font-family:'playfair_displayregular',sans-serif; font-size: 45px; line-height: 55px; color: #1f3a57;  }
#stoerer hr { border: 0; padding: 0; margin: 0; border-top: 1px solid #d5ae67; }   
#stoerer .st_text { padding: 15px 40px 30px 40px; font-family:'robotoregular',sans-serif; font-size: 18px; line-height: 35px; color: #6f6f6e;  }      
#stoerer .st_text strong { font-family:'robotoregular',sans-serif; font-weight: normal; font-size: 25px; line-height: 35px; color: #d5ae67;  }
#stoerer .st_text ul { margin: 25px 0 35px 0; }
#stoerer a.btn-stoer { font-family:'roboto_condensedbold',sans-serif; font-weight: normal; font-size: 20px; line-height: 20px; color: #fff; background-color: #B6100E; border-color: #B6100E; letter-spacing: 2px; text-transform: uppercase; padding: 15px 0;  }
#stoerer.stoerer-corona .st_text { line-height: 25px; }
#stoerer.stoerer-corona .st_text p{ font-size: 15px; }

body.mitlib #libcover {
    overflow: auto;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 990;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    min-height: 100%;
    background: #1F3A57;
}

body.mitlib #libcontent {
    position: relative;
    background: url(../media/bachmann-icon-hintergrund-2.svg) center center no-repeat #fff;
    background-size: auto 105%;
    width: auto;
    max-width: 1200px;
    text-align: left;
    margin: 40px;
}

body.mitlib #libclose {
    position: absolute;
    right: -30px;
    top: -30px;
    left: auto;
    bottom: auto;
	width: 60px;
    height: 60px;
    cursor: pointer;
    background-size: contain;
    z-index: 200;
    background: url(../media/navi-close.svg) center center no-repeat #B6100E;
}



@media only screen and (max-width:575px){     

#stoercontent { width: calc(100% - 40px); margin: 40px 20px; }         
#stoercontent #stoerclose {right: 30px; top: -30px;  }
#stoerer .st_titel { padding: 50px 15px 10px 15px;  font-size: 25px; line-height: 35px; }
#stoerer .st_text { padding: 10px 15px 15px 15px; font-size: 14px; line-height: 24px;  }      
#stoerer .st_text strong { font-size: 14px; line-height: 24px;  }
#stoerer a.btn-stoer {}

}

                                                                                                                                                                                                 
/* =============================================================================   PC entspricht lg ≥992px =========================================================================== */       

/* aus 992 wird 1192 und aus 991 wird 1191 */

#megamenu { display: none; }
      
@media only screen and (min-width:1192px){ 
                                                   
#mobil-navi, #mobil-header { display: none !important; }

header { position: absolute; z-index: 50; top: 0; left: 0; right: 0; }
                                                   
.abstand_pc_10 { padding-top: 10px; }    
.abstand_pc_20 { padding-top: 20px; }
.abstand_pc_30 { padding-top: 30px; }
.abstand_pc_50 { padding-top: 50px; }
.abstand_pc_100 { padding-top: 100px; }    

#topnavi { padding: 8px 0 0 0; }    
#topnavi .container { padding: 0; }
#teldata { width: auto; white-space: nowrap; float: left; }     
#teldata a { display: inline-block; font-family: 'roboto_condensedregular',sans-serif; font-size: 15px; line-height: 18px; color: #cfd0d0; letter-spacing: 1px; padding: 0 12px 0 25px;}
#teldata a[href^="tel:"] { background: url('../media/telefon-rot.svg') center left no-repeat transparent; background-size: contain; }
#teldata a[href^="mailto:"] { background: url('../media/mail-rot.svg') center left no-repeat transparent; background-size: contain; }     
#topnavi ul li { font-family:'roboto_condensedregular',sans-serif; font-size: 15px; line-height: 18px; letter-spacing: 1px; color: #cfd0d0; vertical-align: middle; } 
#topnavi ul li a { display: inline-block; color: #cfd0d0; padding: 6px 15px;  vertical-align: middle; border-bottom: 1px solid transparent; }                                                                 
#topnavi ul li a:hover { border-bottom: 1px solid #fff; }    
#topnavi ul li.langtoggle { padding: 0 15px 0 26px; background: url('../media/sprachwahl.svg') center left no-repeat transparent; background-size: 18px auto;  }   
#topnavi ul li.langtoggle a { padding: 6px 0px;  }   
#topnavi ul li.langtoggle a.actlang { color: #fff;  }     
#topnavi ul li.infotoggle > a { font-family:'roboto_condensedbold',sans-serif; color: #fff; padding-right: 40px; }   
#topnavi ul li.infotoggle > a { background: url('../media/menu.svg') center right no-repeat transparent; background-size: 24px auto; }    
#topnavi ul li.infotoggle > a:hover { background: url('../media/menu-mouseover.svg') center right no-repeat transparent; background-size: 24px auto; }
                                                     
#topnavi ul li.infotoggle { position: relative; }    
#infonavi { display: none; }         
#infonavi.ausgeklappt { display: block; }         
#infonavi > ul { z-index: 990; position: fixed; top: 0; right: 0; bottom: 0; width: auto; min-width: 360px; padding: 0; background: #1F3A57; }          
#infonavi > ul li { display: block; list-style: none; margin: 0; padding: 0; border: 0; position: relative; }     
#infonavi > ul li a { display: block; font-family:'roboto_condensedregular',sans-serif; font-size: 17px; line-height: 60px; letter-spacing: 0; color: #D5AE67; padding: 0 20px; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255, 0.1); }     
#infonavi > ul li a:hover { color: #fff; }
#infonavi > ul li.listhead { background: #D5AE67; color: #eedec2; font-family:'playfair_displayregular',sans-serif; padding: 18px 80px 18px 20px; white-space: nowrap; font-size: 25px; }              
#infonavi > ul li.listhead span.opentoggle { cursor: pointer; display: block; position: absolute; right: 0; top: 0; bottom: 0; left: auto; width: 60px; background: url('../media/navi-close.svg') center center no-repeat #B6100E; background-size: contain; }

#subnavi { }
#subnavi .container { padding: 20px 0; border-bottom: 1px solid #cfd0d0; }
a.smalllogo { display: block; float: left; width: 420px; height: auto; }    
a.smalllogo img {width: 100%; height: auto; }
#subnavi ul li a { display: inline-block; font-family:'roboto_condensedbold',sans-serif; font-size: 17px; line-height: 17px; color: #fff; text-transform: uppercase; padding: 6px 12px; position: relative; }      
#subnavi ul li a:hover { border-bottom: 1px solid #fff; }    
#subnavi ul li.togglesearch { padding: 0 0 4px 8px; cursor: pointer; }                         
#subnavi ul li.togglesearch img { height: 21px; width: auto; }

#hotelnavi .container { padding: 0; border-bottom: 1px solid #cfd0d0; }  
#hotelnavi ul {}
#hotelnavi ul li a { display: block; font-family:'roboto_condensedregular',sans-serif; font-size: 16px; line-height: 18px; letter-spacing: 1px; color: #fff; padding: 10px 15px; text-transform: uppercase; border-bottom: 5px solid transparent; margin-bottom: -3px; } 
#hotelnavi ul li.hotelhead { display: block; font-family:'roboto_condensedbold',sans-serif; font-size: 16px; line-height: 18px; letter-spacing: 1px; color: #fff; padding: 10px 15px 10px 0; text-transform: uppercase; border-bottom: 5px solid transparent; margin-bottom: -3px; } 
#hotelnavi ul li a:hover, #hotelnavi ul li.active a { border-bottom: 5px solid #B6100E; }       

               
#topnavi, #subnavi, #hotelnavi { padding-left: 15px; padding-right: 15px; }

body.scrolledup header { }                                                                          
body header #subtopnavi { z-index: 900; position: relative; }
body.fixed header #subtopnavi { z-index: 900; position: fixed; top: 0; left: 0; right: 0; }            
body.scrolledup header  { z-index: 900; position: fixed; }                         
body.scrolledup header #subtopnavi { position: relative !important; top: auto; left: 0; right: 0; }         
body.scrolledup #topnavi { background: #1f3a57; }       
body.fixed #subnavi { background: #1f3a57; } 
body.fixed #hotelnavi { background: #cfd0d0; }    
body.fixed #hotelnavi ul li a { color: #1f3a57; } 
body.fixed #hotelnavi ul li.hotelhead { color: #B6100E; }          
body.fixed #subnavi .container { border-bottom: 1px solid transparent; }  
body.fixed #hotelnavi .container { border-bottom: 1px solid transparent; }  


#hotelbuchungsbutton { display: block; position: fixed; z-index: 700; width: 40px; height: auto; right: 0; top: 300px; }   
#hotelbuchungsbutton img { display: block; width: 40px; height: auto; }

#subnavi { position: relative; }
#megamenu { display: block; position: absolute; z-index: 20; top: 100%; left: 0; right: 0; }   
#megamenu > .container {background: #F2F2F2; box-shadow: 0 25px 15px 15px rgba(0,0,0,0.5); padding: 0; border: 4px solid #F2F2F2; }

#megamenu > .container a { position: relative; border: 3px solid #F2F2F2;  vertical-align: middle; }
#megamenu > .container a { text-align: center; background: #fff; display: block; }                             
#megamenu > .container a .upper { display: block; padding: 0 20px; max-width: 15em; margin: 0 auto; }    
#megamenu > .container a .upper .verticol { min-height: 110px;  }
#megamenu > .container a .upper .titel { display: block; font-family:'playfair_displayregular',sans-serif; color: #fff; font-size: 22px; line-height: 22px; text-transform: uppercase; letter-spacing: 2px;  font-weight: normal; color: #1f3a57; }
#megamenu > .container a .upper .ortsname {  display: block; font-family:'roboto_condensedbold',sans-serif; color: #d5ae67; font-size: 15px; line-height: 22px; text-transform: uppercase; letter-spacing: 2px; font-weight: normal;  }

#megamenu > .container a:hover { /* z-index: 5; background: transparent; outline: 15px solid #D5AE67; outline-offset: -5px; */}   
#megamenu > .container a:hover img { filter: brightness(65%); }

.col-lg-20p { max-width: 20%; flex: 0 0 20%; }   
.col-md-20p { max-width: 20%; flex: 0 0 20%; }  
 
#megamenu { display: none; }
#megamenu.ausgeklappt { display: block; }     

.mega_hotels { display: none; }
.mega_hotels.ausgeklappt { display: block; }    

.mega_angebote { display: none; }
.mega_angebote.ausgeklappt { display: block; }

a.ausgeklappt span.zeiger { position: absolute; z-index: 19; top: 100%; left: 50%; left: calc(50% - 15px); margin-top: 20px; width: 30px; height: 30px; display: block; transform: rotate(45deg); background: #F2F2F2; }
                                      
}

/* =============================================================================   TABLET entspricht md <992px =========================================================================== */

                 
@media only screen and (min-width:576px) and (max-width:1191px){  

.abstand_tablet_10 { padding-top: 10px; }    
.abstand_tablet_20 { padding-top: 20px; }
.abstand_tablet_30 { padding-top: 30px; }
.abstand_tablet_50 { padding-top: 50px; }
.abstand_tablet_100 { padding-top: 100px; }    

.col-md-20p { max-width: 20%; flex: 0 0 20%; }   
                           
}                                           
      
@media only screen and (max-width:1100px) and (min-width:1191px) {    
a.smalllogo { width: 350px; }  
}
      
@media only screen and (max-width:1191px){ 

.footer_links { display: block; }
.footer_social { display: block; padding-top: 20px; } 
#hotelbuchungsbutton { display: none; }

#pc-navi, #infonavi { display: none !important; }    

#mobil-header { z-index: 900; position: fixed; top: 0; left: 0; right: 0; bottom: auto; overflow: hidden; display: block; background: #1F3A57; color: #fff; height: 60px; text-align: center; }
#afterheader { height: 60px; }       
#mobil-header a.smalllogo { display: block; float: left; width: auto; height: 60px; padding: 11px 0 0 0;}    
#mobil-header a.smalllogo img {width: auto; height: 32px; }
#mobil-header .togglesearch { cursor: pointer; position: absolute; right: 60px; top: 0; bottom: 0; width: 40px; padding: 13px 5px 0 8px;}    
#mobil-header .togglemobmenu { cursor: pointer; position: absolute; right: 0; top: 0; bottom: 0; width: 60px; padding: 12px 15px;}   

#mobil-navi.eingeklappt { display: none; }       
#mobil-navi { z-index: 990; position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; overflow-y: auto; display: block; background: #0b2237; color: #9aa6b3; min-width: 300px; }
#mobil-navi .navhead { z-index: 995; position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: block; background: #d5ae67; color: #eedec2; height: 60px; padding: 20px 60px 10px 20px; }
#mobil-navi .navhead {font-family:'roboto_condensedregular',sans-serif; font-size: 14px; line-height: 18px; letter-spacing: 0; color: #eedec2; text-transform: uppercase; }
#mobil-navi .navhead span.navitoggle { cursor: pointer; display: block; position: absolute; right: 0; top: 0; bottom: 0; left: auto; width: 60px; background: url('../media/navi-close.svg') center center no-repeat #B6100E; background-size: contain; }
#mobil-navi .navhead .langtoggle { padding: 0 15px 0 26px; background: url('../media/sprachwahl.svg') center left no-repeat transparent; background-size: 18px auto;  }   
#mobil-navi .navhead .langtoggle a { padding: 6px 0px; color: #eedec2;  }   
#mobil-navi .navhead .langtoggle a.actlang { color: #fff;  }    

                                      
#mobil-navi .navfooter { display: block; color: #9aa6b3; height: 40px; padding: 20px 20px 10px 20px; }
#mobil-navi .navfooter {font-family:'roboto_condensedregular',sans-serif; font-size: 14px; line-height: 18px; letter-spacing: 0; color: #9aa6b3; text-transform: uppercase; }
#mobil-navi .navfooter a { padding: 6px 0px; color: #9aa6b3;  }  

#mobil-navi .navbody { padding: 60px 0 0 0;}                                                         
#mobil-navi .navbody ul { display: block; list-style: none; margin: 0; padding: 0; border: 0; position: relative; }   
#mobil-navi .navbody ul li { display: block; list-style: none; margin: 0; padding: 0; border: 0; position: relative; }     
#mobil-navi .navbody ul li a { display: block; font-family:'roboto_condensedregular',sans-serif; font-size: 17px; line-height: 18px; letter-spacing: 0; color: #D5AE67; padding: 10px 40px 10px 20px; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255, 0.1); position: relative; }     
#mobil-navi .navbody ul li.active > a { color: #fff; }     
#mobil-navi .navbody > ul > li.active > a { font-family:'roboto_condensedbold',sans-serif; }   
                                                     
#mobil-navi .navbody ul li a span.pfeil { position: absolute; top: 0; left: auto; right: 0; bottom: 0; width: 40px; background: url('../media/mobilnavi-pfeil-1.svg') center center no-repeat transparent; background-size: 9px auto; }   
#mobil-navi .navbody ul li.active > a > span.pfeil { background: url('../media/mobilnavi-pfeil-2.svg') center center no-repeat transparent; background-size: auto 9px; }   
#mobil-navi .navbody ul li.active > a { background: #1f3a57; }   

#mobil-navi .navbody > ul ul { display: none; }   
#mobil-navi .navbody > ul li.active > ul { display: block; background: #1f3a57; padding-left: 20px; }    
#mobil-navi .navbody > ul li.active > ul li a { color: #9aa6b3; }      
#mobil-navi .navbody > ul li.active > ul li.active > a { color: #fff; } 

.mobhotelname { font-family:'roboto_condensedregular',sans-serif; font-size: 14px; line-height: 28px; letter-spacing: 1px; color: #b6100e; text-transform: uppercase; }
                                             
}
/* =============================================================================   PHONE entspricht sm < 576px =========================================================================== */

@media only screen and (max-width:575px){                    

.abstand_phone_10 { padding-top: 10px; }    
.abstand_phone_20 { padding-top: 20px; }
.abstand_phone_30 { padding-top: 30px; }
.abstand_phone_50 { padding-top: 50px; }
.abstand_phone_100 { padding-top: 100px; }
     
#footer_upper h6 { font-size: 25px; line-height: 26px; }    
#footer_upper .linktext { font-size: 18px; line-height: 24px; }

.footer_links a { display: block; }    
      
body.mitsuche #suchcover form  { }     
body.mitsuche #suchcover label { font-size: 25px; }        
body.mitsuche #suchcover input { width: 200px; }

.embed-responsive-sm-1by1::before { padding-top: 100%; }

}
 
.cc-right {
    right: 8em!important;
}


/* =============================================================================   PAPER only Style   =========================================================================== */
@media print {
      a[href]:after {
        content: "" !important;
      }
    }