

/* = = = = = = = = = = = = = = = = = datei format.css = = = = = = = = = = = = = = = = = = = = = = = = = */



/* ############################################################ */
/* allgemein */
/* ############################################################ */

*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

html, body {
font-family:'open_sanscondensed_light', tahoma,georgia,  arial, Verdana, Segoe, 'Open Sans',helvetica,roboto ,sans-serif;
font-size:62.5%;
line-height:1.5;
}

body {height:100%;width:100%;
font-size:1.8rem;
margin: 0 auto;
overflow-x:hidden;
color:#36323F;
background:#fcfcfc
}

#container {
margin:0 auto;
}


/* ---- ueberschriften ----- */

h1, h2, h3, h4, h5 {text-align:left;
font-weight:normal;text-transform:none;
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:darkslategray;padding:0 .5rem;
transform:rotate(-45deg);
}


/*  ----------------------------------------  */
/* allgemeine links */
/*  ----------------------------------------  */

a {color:#c5241f;
text-decoration: underline;
cursor:pointer;
}

a:hover {color:#1c992b;
text-decoration: none  ;
}


/* ############################################################ */
/*  speziell */
/* ############################################################ */

/* bilder groesse anpassen  */
img {max-width: 100%;display:block;
margin:0 auto;
height: auto;
border-radius:0rem;
}

/* hauptcontainer */

.wrapper {display:block;
width:90%;
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:#ed5f4c;
border-radius:.4rem;
text-decoration:none;
padding:.3rem 1.8rem ;
transition:all  .3s ease-out;
cursor:pointer;
}

.button .mehr_lesen a:hover {
color:#fff;
background:#323232;
}




/* ----- design-link ohne button ----- */

.extra-link {display:block;
margin:-.5rem 0 0 0;
text-align:left;
}

.extra-link a  {display:inline-block;
padding: 0;
text-decoration: none;
}

/* icon bei extra-link */
.extra-link a:before {position:relative;
display:inline-block;
text-align:center;
font-family:'Font Awesome 6 Free';/* - 'Font Awesome 6 Free' for Regular and Solid symbols;
                                     - 'Font Awesome 6 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:#63333F;
}

.extra-link a:hover:before {color:#63333F; }




/*  ----------------------------------------  */
/* 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: #63333F;font-weight:bold }
.liste-spez li:hover::marker{ color: #63333F; }

/* 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: #c5241f; 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 {padding-right:.8rem;color:#33a15d; }
.liste-spez-2 li a:hover i {color:darkslategray; }



/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */
/*  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%; }

.presentation.bilder .box-1_of_2 {width:100%; }


/*  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 logo */
/* ############################################################ */


#top {display:block;
padding:0;
margin:0 auto;text-align:center;;
}

.top-a .wrapper {display:block;

padding: 0;
margin:0 auto;xborder-bottom:solid .8rem #6895DF;
}

.top-a .wrapper .box {}


/* icons mit verwendung von .liste-spez-2 */

#top .liste-spez-2 ul  {text-align:center; }

#top .liste-spez-2 li {display:inline-block;
margin:.3rem 1rem .3rem  1rem;
}

#top .liste-spez-2  i {font-size:2rem;color:#33a15d;
transition:all .5s ease-out;
text-shadow: 2px 2px 5px rgba(0,0,0,.1); }

#top .liste-spez-2  a:hover i {color:#33a15d;transform:translateY(-5px); }



/* ############################################################ */
/* bereich logo */
/* ############################################################ */

#logo {display:block;
padding:0;
margin:0 auto;
text-align:center;
background:#c5221d;
background-image:url(../images/big_picture2001.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}

.logo-a .wrapper {display:inline-block;POSITION:relative;vertical-align:middle;text-align:center;
height:27rem;
padding: 0;
margin: 0;
}

.logo-a .wrapper .box {}


/* logo-object  */

.logo-object {display:none; /* zunächst ausgeblendet */
POSITION:absolute;
bottom:50%;left:50%;
width:240px; height:240px;
margin-bottom:-120px;margin-left:-120px;
background:#323232;
border:solid 1.5rem #33a15d;
border-radius:0rem;
transition:all 4s ease-out;
box-shadow:0px 0px 10px rgba(0,0,0,.2);overflow:hidden;
}

.logo-object-inhalt {display:table-cell;
vertical-align: middle;
text-align:center;background-image:url(../images/picture999.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}

.logo-object:hover {transform:rotate(-45deg);
}


/* ############################################################ */
/* intro = homepagename und icons  */
/* ############################################################ */


#intro  .wrapper {
padding: 2rem 0rem;
}

#intro .wrapper .box {
border-radius:0rem;
padding:0rem 2rem;
}

#intro .box:nth-child(1) {display:none; } /* zunaechst ausgeblendet */


/* icons mit verwendung von .liste-spez-2 */

#intro .liste-spez-2 ul  {text-align:center; }

#intro .liste-spez-2 li {display:inline-block;
margin:.3rem 1rem .3rem  1rem;
}

#intro .liste-spez-2  i {font-size:2rem;color:#33a15d;
transition:all .5s ease-out;
text-shadow: 2px 2px 5px rgba(0,0,0,.1);
}

#intro .liste-spez-2  a:hover i {color:#c5221d;
transform:translateY(-5px);
}

#intro .box:nth-child(2) {padding-top:3rem;}


/* homepagename  */
.name {display:block;font-weight:bold;
color:#c5221d;background:transparent;
text-align:center;
text-transform:uppercase;
font-size:1.9rem;
letter-spacing:1px;padding:0rem 0rem;
}


 /* ############################################################ */
/* bereich inhalt */
/* ############################################################ */

main#inhalt {display:block;text-align:center;
padding:0;
margin:0 auto;
}

.inhalt-a .wrapper  {
border-radius:0rem;
padding:3rem 0rem;
}

.inhalt-a .bilder .box {padding:1rem 1rem; }


/* cards  */

.cards  {display:table; width:100%;
color:#efefef;
background:#c7241f;
margin:1rem 0;
padding:0;
}

.cards .box  {display:block; margin:0 auto;}

.cards .box:nth-child(1)  {
padding:0rem;
background:#33a15d;
text-align:center;
}

.cards .box:nth-child(2)  {}

.cards .icon  {
font-size:4rem;
color:white;
}


/* bei Verlinkungen  */
.cards a {color: #63333F; }
.cards a:hover {color: #c5241f; }


/* text beim cards-objekt*/

.cards article.text {text-align:left;
padding:2rem 0rem;font-size:1.7rem
}

.cards article.text h4 {color:white;
margin:0 0 1rem 0;
letter-spacing: 0rem;
text-align:center;
font-weight:bold;text-align:left;
}

/* oeffnungszeiten */
.liste-spez  b.day {display:inline-block;width:8rem;font-weight:normal; }

/* faq - numerische liste unter verwendung von liste-spez */

.questions.liste-spez ol li { margin:0rem .15rem 1.3rem  0rem;}
.questions.liste-spez ol li span {font-weight:bold;}



/* ############################################################ */
/* bereich fuss */
/* ############################################################ */

footer {text-align:center;
margin:0 auto;
padding:0;
}

.fuss-a .wrapper {
padding:4rem 0;
}

.fuss-a .wrapper .box {padding:0rem 1rem; }

/* icons im fussbereich */
.copyright {letter-spacing:1px;}
#fuss .icon  { display:inline-block; }
#fuss .icon i { display:inline-block;margin:1rem 1.5rem 1rem 0;color:forestgreen;font-size:2.5rem; }
#fuss .icon i:nth-child(2)  { color:#1f1f1f }



/*  ----------------------------------------  */
/*  die wesentlichen schriftformate fuer den gesamten footer plus fussmenu */
/*  ----------------------------------------  */

#fuss ,
#fuss a {
color:#36323F;
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;}



/* ############################################################ */
/* 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) {

/* keine angabe */

}


/* ==================================== ab 480 pixel ================================== */
@media (min-width: 480px) {

html {font-size:70%; }

.bilder .box-1_of_4  {width: 50%; }

.cards article.text {padding:2rem 2rem; }

#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  {width: 84%; }
.inhalt-a .wrapper  {padding:2rem 0 0 0; }

.logo-object {display:table;
bottom:0%;left:20%;
width:160px; height:160px;
margin-bottom:-80px;margin-left:-80px;
}

#intro .box:nth-child(1)  {width: 40%; display:inline-block; } /* wird eingeblendet, hat aber keinen inhalt */
#intro .box:nth-child(2)  {width: 60%;padding-top:1rem}

#intro .liste-spez-2 ul  {text-align:left; }

.name {text-align:left;}

.bilder .box-1_of_2  {width: 50%; }

}


/* ==================================== ab 640 pixel ================================== */
@media (min-width: 640px) {

/* keine angabe */

}



/* ==================================== ab 760 pixel ================================== */
@media (min-width: 760px) {

html {font-size:80%; }

.wrapper  {width: 670px; }
.logo-a .wrapper { height:36rem; }

.logo-object { width:220px; height:220px;
margin-bottom:-110px;margin-left:-110px; }

.bilder .box-1_of_3  {width: 33.33%; }

}


/* ===================================== ab 800 pixel ================================= */
@media (min-width: 800px) {

/* keine angabe */

}


/* ===================================== ab 960 pixel ================================= */
@media (min-width: 960px) {

.wrapper  {width: 90%; }
.logo-a .wrapper { height:45vh; }
.inhalt-a .wrapper  {padding:4rem 0 0 0; }

#top .liste-spez-2 ul  {text-align:right; }

.logo-object { width:260px; height:260px;
margin-bottom:-130px;margin-left:-130px; }


.name {font-size:2.5rem; }

.bilder .box-1_of_4  {width: 25%; }
.presentation.bilder .box-1_of_2 {width:50%; }

.cards .box:nth-child(2)  {width: 62%;background:#323232; }

}


/* ===================================== ab 1024 pixel ================================= */
@media (min-width: 1024px) {

pre {width:70%; }

}


/* ===================================== ab 1250 pixel ================================= */
@media (min-width: 1250px) {

.wrapper   {width: 1150px; }
.logo-a .wrapper { height:60vh; }

.logo-object {left:14%;
width:300px; height:300px;
margin-bottom:-150px;margin-left:-150px;
}

#intro .box:nth-child(1)  {width: 31%; }
#intro .box:nth-child(2)  {width: 69%;}

}


/* ===================================== ab 1400 pixel ================================= */
@media (min-width: 1400px) {

/* keine angabe */

}