

/* = = = = = = = = = = = = = = = = = datei format.css = = = = = = = = = = = = = = = = = = = = = = = = = */



/* ############################################################ */
/* allgemein */
/* ############################################################ */

*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

html, body {
font-family: 'calibri',sans-serif,Verdana, Geneva, Tahoma, sans-serif;
font-size:62.5%;
line-height:1.5;
}

body {height:100%;
font-size:1.8rem;
margin: 0 auto;
overflow-x:hidden;
color:#4f4f4f;
background:#fff
}

#container {
margin:0 auto;
}


/* ---- ueberschriften ----- */

h1, h2, h3, h4, h5 {text-align:left;
font-weight:normal;text-transform:none;
color:#1f1f1f;font-weight:bold;
}

h2 {
font-size:2.6rem;
line-height: 3.3rem;
margin-top: 0rem;
margin-bottom: 2.5rem;
letter-spacing:1px;
}


h3 {
font-size:2rem;
line-height: 3rem;
margin-top: 0rem;
margin-bottom:2.5rem;
letter-spacing:0px;
}


/*  quelltext erklaerungen, wenn vorhanden  */

pre {white-space:pre-wrap;position:relative;
font-size:1.5rem;
font-family:'open_sanscondensed_light', tahoma,georgia,  arial, Verdana, Segoe, 'Open Sans',helvetica,roboto ,sans-serif;
padding:0rem 1rem 2rem 1rem;
margin:4rem auto;
text-align:center;
border:dashed 0.1rem #1f1f1f;
background:transparent;
}

pre .extra {display:inline-block;
position:absolute;
left:-1.5rem;top:1.5rem;font-size:1.8rem;
color:#fff;font-weight:normal;
background:#4f4f4f;padding:0 .5rem;
transform:rotate(-45deg);
}


/*  ----------------------------------------  */
/* allgemeine links */
/*  ----------------------------------------  */

a {color:#4f4f4f;
text-decoration: underline;
cursor:pointer;
}

a:hover {color:#4f4f4f;
text-decoration: none  ;
}


/* ############################################################ */
/*  speziell */
/* ############################################################ */

/* bilder groesse anpassen  */
img {max-width: 100%;display:block;
margin:0 auto;
height: auto;
border-radius:1rem;
}

/* hauptcontainer */
.wrapper {display:inline-block;
width:85%;
margin:0 auto;
text-align:center;
border-radius:0rem;
padding: 2rem 0rem;
}


/*  ----------------------------------------  */
/*   MEHR LESEN BUTTON  */
/*  ----------------------------------------  */

/* ----- style ----- */

.button  {display:block;
margin:0rem 0 0rem 0;
text-align:left;
}

.button.cntr {text-align:center; }

.button .mehr_lesen a {display:inline-block;
text-transform:uppercase;
font-size:1.5rem;
letter-spacing:1px;
color:#fff;
background:#000;
border-radius:.4rem;
text-decoration:none;
padding:.3rem 1.8rem ;
transition:all  .3s ease-out;
cursor:pointer;
}

.button .mehr_lesen a:hover {
background:#800000;
}



/* ----- design-link ohne button ----- */

a.extra-link   {display:block;
padding:1rem 0;
text-decoration: none; }

/* icon bei extra-link */
a.extra-link:before {position:relative;
display:inline-block;
text-align:center;
font-family:'Font Awesome 5 Free';/* - 'Font Awesome 5 Free' for Regular and Solid symbols;
                                     - 'Font Awesome 5 Brands' for Brands symbols. */
font-weight: 900;/*  Weight of the font (mandatory)
                     - 400 for Regular and Brands symbols;
                     - 900 for Solid symbols. */
padding:0 1rem 0 0 ;
content:"\f152";
color:#000;
}

a.extra-link:hover:before {color:#800000; }



/*  ----------------------------------------  */
/* LISTE SPEZIAL  */
/*  ----------------------------------------  */

/* ----- style 1 ----- */

.liste-spez   {display:block;padding:0;}

.liste-spez ul  {
text-align:left;
margin:0rem 0 0 0;
padding:0rem 0 0 2rem;
}

.liste-spez li {margin:0rem .15rem .3rem  0rem; }

/* aufzaehlungszeichen marker */
.liste-spez li { list-style-type:square; }
.liste-spez li::marker { color:#800000;font-weight:bold }
.liste-spez li:hover::marker{ color: #000; }

/* no list-style */

.liste-spez.no-list-style ul  {
padding:0rem 0 0 0rem;
}

.liste-spez.no-list-style li { list-style-type:none; }


/* numerische liste - ordered list */

.liste-spez ol  {text-align:left;
margin:0rem 0 0 0;
padding:0rem 0 0 2rem;
}

.liste-spez ol li {padding-left:.5rem;list-style-type: decimal; margin:0rem .15rem .3rem  0rem;}
.liste-spez ol li::marker { color: #800000; font-family:serif }


/* ----- style 2 -  bei vorangestelltem icon (fontawesome) ----- */

.liste-spez-2 ul  {text-align:left;
margin:0rem 0 0 -1rem;
padding:0rem 0 0 2rem;
}

.liste-spez-2 li {list-style:none; margin:0rem .15rem .3rem  0rem;
list-style-position: inside; /* rueckt gfls zweite zeile ein*/
text-indent:-1.4rem; /* rueckt gfls zweite zeile ein */
padding-left:1.5rem; /* rueckt gfls zweite zeile ein */
}

.liste-spez-2  i {transform:scale(.9);padding-right:.8rem;color:#000; }
.liste-spez-2 li a:hover i {color:#800000; }



/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */
/*  GRID SYSTEM   fuer Bilder und Spalten */
/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */

/* ---------- boxen - grundsystem ---------- */

.box {display:inline-block;
text-align:left;
vertical-align:top;
width:100%;
padding:  1rem ;
margin:0  -.25rem -.25rem -.25rem; /* ausgleich  minus-margin fuer INLINE-BLOCK-WHITESPACE-BUG */
}

.box-1_of_1 ,
.box-1_of_2 ,
.box-1_of_3,
.box-1_of_4,
.box-1_of_5 {width:100%; }


/* ---------- boxen - bilder ---------- */

.bilder  {display:block;
margin:0 -1rem;
text-align:center;
}

.bilder .box-1_of_1 ,
.bilder .box-1_of_2 ,
.bilder .box-1_of_3,
.bilder .box-1_of_4 {width:100%; }
.bilder .box-1_of_4b  {width: 50%; }

#gallery.bilder .box-1_of_3 {width:33.33%; }
#gallery.bilder .box-1_of_4 {width:50%; }


/*  bei Mausberuehrung der Bilder, wenn diese verlinkt sind (z.B Lightbox) */
a:hover img {opacity:.8;  filter: blur(2px)  }




/* ############################################################ */
/* bereich header */
/* ############################################################ */

header {text-align:center;
margin:0 auto;
}


/* ############################################################ */
/* bereich top */
/* ############################################################ */

#top {display:block;
margin:0 auto;
padding: 0 0 0 0;
}

.top-a .wrapper .box {padding:0rem 0; }

/* homepagename  */
.name 
    {
        font-family: "Clicker Bk";
        font-display: swap;
        font-style: normal;
        font-weight: normal;
        display:block;
        font-weight:bold;
        color:#282362;
        text-transform:none;
        font-size:2.7rem;
        line-height:3rem;
        letter-spacing:1px;
}

.name b {color:#bf0000; }


/* ############################################################ */
/* bereich logo */
/* ############################################################ */

.logo-a .wrapper {POSITION:relative;
height:42rem;
/*background:#3f3f3f;*/
background-image:url(../images/header.png);
background-repeat:no-repeat;
/*background-position:50% 50%;*/
background-size:cover;
overflow:hidden;
padding:0;
margin:0;
border-radius:2rem 2rem 2rem 2rem;

}

#logo .box {}

/* logo-object  */

.logo-object {POSITION:absolute;
bottom:0%;left:0%;
width:15rem; height:15rem;
/*margin-bottom:3rem;
margin-left:3rem;*/
display:table;
/*background:rgb(255, 255, 255);*/
border-bottom-left-radius: 0rem;
border-top-left-radius: 0rem;
border-top-right-radius: 2rem;
border-bottom-right-radius: 0rem;
/*border-radius:2rem;*/
}

.logo-object-inhalt {display:table-cell;
vertical-align:middle;
text-align:center;
}

.slogan {color:white;font-family:arial,sans-serif;
font-size:1.4rem;
letter-spacing:1px;padding:1.5rem;
/*transform:rotate(-45deg);*/
}

.slogan i {color:white;text-shadow:1px 1px 0px black;
font-size:5rem;
}

/* language-object  */

.language-object {POSITION:absolute;
    bottom:0%;right:0%;
    width:10rem; height:5rem;
    /*margin-bottom:3rem;
    margin-left:3rem;*/
    display:table;
    /*background:rgb(255, 255, 255);*/
    border-bottom-left-radius: 0rem;
    border-top-left-radius: 2rem;
    border-top-right-radius: 0rem;
    border-bottom-right-radius: 0rem;
    /*border-radius:2rem;*/
    }
    
    .language-object-inhalt {display:table-cell;
    vertical-align:middle;
    text-align:center;
    }
    
    .language {color:#bce4f0;font-weight: bold;
    font-size:1.4rem;
    letter-spacing:1px;
    }

    .language a:hover {color:white}
    
    .slogan i {color:white;text-shadow:1px 1px 0px black;
    font-size:5rem;
    }

 /* ############################################################ */
/* bereich inhalt */
/* ############################################################ */

main#inhalt {display:block;text-align:center;
padding:0 0 1rem 0;
margin:0 auto;
}

.inhalt-a .wrapper {margin:-1rem 0; }
.inhalt-a .wrapper .box {padding:1rem 0; }
.inhalt-a .bilder .box {padding:1rem 1rem; }


/* oeffnungszeiten */
.liste-spez  b.day {display:inline-block;width:8rem;font-weight:normal; }


/* sidebar - die rechte Spalte */

.one-third_two-thirds.box:nth-child(2) {background:ghostwhite;
border-radius:2rem;
padding:3.5rem 2rem;margin:3rem 0;
}

.one-third_two-thirds.box:nth-child(2) .liste-spez li {margin:0rem .15rem 0rem  0rem; }

.one-third_two-thirds.box:nth-child(2) .liste-spez a {text-decoration:none; }

.qrcode
    {
        position: inherit;
        float:right;
        border-radius: 0rem;
        z-index: 2;
    }

    .contact
    {
        position: inherit;
        float:left;
        border-radius: 0rem;
        margin: 5px;
        z-index: 2;
    }    


/* ############################################################ */
/* bereich fuss */
/* ############################################################ */

footer {text-align:center;
    margin:0 auto;
    padding:0;
    }
    
    .fuss-a .wrapper {
    border-top:dotted 2px silver;
    padding:4rem 0;
    }
    
    .fuss-a .wrapper .box {padding:0rem 0rem; }
    
    #fuss .one-third_two-thirds {background:transparent;border-radius:0rem; padding:0rem 0rem; }
    
    #fuss .one-third_two-thirds.box:nth-child(2) {margin:.5rem 0; }
    
    #fuss .copyright {letter-spacing:1px; }
    


/*  ----------------------------------------  */
/*  die wesentlichen schriftformate fuer den gesamten footer plus fussmenu */
/*  ----------------------------------------  */

#fuss ,
#fuss a {
color:#4f4f4f;
text-shadow:none;
font-weight:normal;
font-size:1.6rem;
line-height:2.8rem;
text-decoration:none;
}

.fussmenu ul {text-align:left;list-style: none;padding:0 0 2rem 0;margin: 0; }
.fussmenu li { display:block;padding:0 }

#fuss li a:hover {color:#000;text-decoration:none;}

.listingmain 
    {
        /*list-style-image:url(/pic/mini-conus_blau.svg);*/
        list-style-type: none;
        padding-left: 25px;
        margin-left: 10px;
        background-image:url('/pic/conus_listing.svg');
        background-repeat:no-repeat;
        background-position:left center;
        background-size: 18px; 
     }

/* ############################################################ */
/* M E D I A   Q U E R I E S */
/* CSS Bildschirmabfragen */
/* ############################################################ */

/* ==================================== ab 320 pixel ================================== */
@media (min-width: 320px) {

/*  hinweis:
fuer die kleinste smartphone aufloesung von 320 pixel benoetigen wir KEINE bildschirmabragen,
denn hierfuer gilt ja automtaisch der gesamte vorstehende quelltext code,
weil wir das template ja MOBILE-FIRST angelegt haben.
*/

}


/* ==================================== ab 360 pixel ================================== */
@media (min-width: 360px) {

    .wrapper  { background-position:50% 50%; }

}


/* ==================================== ab 480 pixel ================================== */
@media (min-width: 480px) {

html {font-size:70%; }

.wrapper  { background-position:50% 50%; }


.bilder .box-1_of_4  {width: 50%; }

#fuss, #fuss a  {font-size:1.3rem; }

.fussmenu ul {padding: 0; }
.fussmenu li { display:inline-block; }

/*  zeichen nach jedem listenpunkt li */
.fussmenu li:after { display:inline-block;
content:"|";
color:#1f1f1f;font-weight:normal;
padding:0 .1rem 0 .3rem;
}

/*  kein zeichen beim letzten listenpunkt li */
.fussmenu li:last-child:after { content:""; }

}


/* ==================================== ab 580 pixel ================================== */
@media (min-width: 580px) {

    .wrapper  { background-position:50% 50%; }


.bilder .box-1_of_2  {width: 50%; }

}


/* ==================================== ab 640 pixel ================================== */
@media (min-width: 640px) {

    .wrapper  { background-position:50% 50%; }

}



/* ==================================== ab 760 pixel ================================== */
@media (min-width: 760px) {

html {font-size:80%; }

.wrapper  {width: 670px; background-position:50% 50%; }
.logo-a .wrapper { height:39rem; }

.bilder .box-1_of_3  {width: 33.33%;  }

}


/* ===================================== ab 800 pixel ================================= */
@media (min-width: 800px) {

    .wrapper  { background-position:50% 50%; }

}

.headerlogo   { float:none; }
.headerlogo img { height:100px;}
.headerclaim  { float:none; text-align: center;}  

/* ===================================== ab 960 pixel ================================= */
@media (min-width: 960px) {

html {font-size:70%; }

.wrapper  {width: 90%; background-position:50% -1%;}

.name {font-size:3.4rem;text-align:center; letter-spacing:10px; }

#logo .box {background:#0f76bc;text-align:center;
padding:.5rem 1rem;
width:auto;
border-bottom-left-radius:1.5rem;
border-bottom-right-radius:1.5rem;
border-top:none;box-shadow:0 0 70px rgba(0,0,0,.8);
}

main#inhalt {padding:2rem 0 3rem 0; }


.bilder .box-1_of_4  {width: 25%; }
#gallery.bilder .box-1_of_4  {width: 25%; }


/* 2er boxen mit aufteilung 1-drittel zu 2-drittel */

.one-third_two-thirds.box:nth-child(1)  {width: 62%;
    padding:2rem 6rem 2rem 0rem;
    }
    
.one-third_two-thirds.box:nth-child(2)  {width: 38%;
    padding:3rem 3rem 3rem 3rem;
    }

.one-third_one-thirds.box:nth-child(1) {width: 100%;
    padding:2rem 6rem 2rem 0rem;}    

#fuss .one-third_two-thirds.box:nth-child(2) {margin:0rem 0; }

}

.headerlogo   { float:none; }
.headerlogo img { height:100px;}
.headerclaim  { float:none; }  


/* ===================================== ab 1024 pixel ================================= */
@media (min-width: 1024px) {

pre {width:70%; }

}


/* ===================================== ab 1250 pixel ================================= */
@media (min-width: 1250px) {

.wrapper   {width: 1200px; }

.headerlogo   { float:left; width: 230px; }
.headerclaim  { float:left; width: 970px; margin-top: 35px }    

}


/* ===================================== ab 1400 pixel ================================= */
@media (min-width: 1400px) {

/* keine angabe */

}