

/* = = = = = = = = = = = = = = = = = 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_sanslight',georgia, tahoma, arial, Verdana, Segoe, 'Open Sans',helvetica,roboto ,sans-serif;
font-size:62.5%;
line-height:1.5;
}

body {height:100%;
font-size:1.7rem;
margin: 0 auto;
overflow-x:hidden;
}

h1, h2, h3, h4, h5 {text-align:center;
font-weight:bold;
}

h1 {
font-size:3rem;
line-height: 3.5rem;
margin-top: 0rem;
margin-bottom: 5.2rem;
}

h2 {text-transform:uppercase;
font-size:2.5rem;
line-height: 3rem;
margin-top: 1rem;
margin-bottom: 3.5rem;
letter-spacing:2px;
}

h2:after {display:block;
border-top: 4px solid #5b3a29;
width: 70px;
content: "";
margin: 0 auto;
margin-top: 2rem;
}

h3 {color:#363636;
font-size:1.8rem;
line-height: 2.3rem;
margin-top: 1rem;
margin-bottom:2.5rem;
text-transform:none;
letter-spacing:1px;
}


/* quelltext-erklärungen - wenn vorhanden */

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

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

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

a {color:#4c2f26;
text-decoration: underline;
}

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


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

/* bilder -anpassen der grösse */
img {max-width: 100%;display:block;
margin:0 auto;
height: auto;
}


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

.button  {display:block;
margin:2rem 0 1.5rem 0;
text-align:center;
}

.button .mehr_lesen a {display:inline-block;
color:#4c2f26;
background:transparent;
border:solid 1px #D1ADA3;
text-decoration:none;
padding:.3rem 1.5rem .3rem 1rem;
border-radius:.6rem;
cursor:pointer;
transition:all  .3s ease-out;
}

.button .mehr_lesen a:hover {color:#4c2f26;
background:#fff;
}


/*  icon beim MEHR LESEN-BUTTON */

.button .mehr_lesen a:before {display:inline-block;
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. */
content:"\f054" ;
transform:scale(.6);
color:#4c2f26;
padding: 0 .5rem 0 0;
margin:0;
}

.button .mehr_lesen a:hover:before {color:#000 }


/*  ----------------------------------------  */
/* spezielle button-platzierung mit position:relative/absolute - hier bei box 'presentation' */
/* button wird am unteren rand der box platziert - so stehen die buttons bei grösserer aufösung nebeneinander immmer auf einer höhe */
/*  ----------------------------------------  */

.button-position {
POSITION:relative;
}

.button-position .button  {display:inline-block;
POSITION:absolute;width:26rem;
bottom:-5rem;left:50%;
margin-left:-13rem;
}


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

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

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

.liste-spez li {list-style:square; }



/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */
/*  GRID-SYSTEM  - für Bilder / Spalten */
/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */

.wrapper-box {display:block;
text-align:center;
padding:0rem;margin:0 auto;
}

.box {display:inline-block;
width:100%;
padding:.2rem;
text-align:left;vertical-align:top;
margin:0rem -.22rem 0rem -.22rem ;/* ausgleich ( minus-margin) für INLINE-BLOCK-WHITESPACE-BUG*/
}



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


/*  boxen - für abweichungen vom boxen-grundsystem */

#logo img { box-shadow:0 0  40px rgba(0,0,0,.3)}
#extra .box-1_of_1  {width: 100%;}
#adresse .box-1_of_2  {width: 100%;}
.box-1_of_4b  {width: 50%; }

#gallery .box-1_of_3 {width:33.33%; }
#gallery img:hover  {opacity:.7;filter: blur(4px);}

#fuss .box-1_of_3  {width: 100%; }


/*  boxen - boxen mit text */

article.text {font-size:1.4rem;
margin:0;text-align:left;
padding:2rem 1rem 1rem .5rem ;
}

article.text h3 {
font-size:1.4rem;
line-height:1.7rem;
margin: 0rem 1rem 1.5rem 0rem;
text-align:left;
}

article.text p {
margin:-.5rem 0;
padding:0;
}


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

header {background:#fff; }


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

#top {display:block;
margin: 0 auto;
padding:0rem;
border-bottom:solid 5rem #4c2f26;
}

.top-a {display:table;position:relative;
width:100%;
text-align:center;
padding:0rem .2rem 7rem .2rem;
}

/* homepagename  */

.name {font-family:'old_standard_ttitalic';
display:block;
color:#893C03;
text-shadow:0px 1px 1px rgba(0,0,0,.2);
width:auto;font-weight:normal;
text-align:center;
margin:0 auto;margin-top:1rem;
padding:1rem 0rem 1rem 0rem;
font-size:2.5rem;
line-height: 2.8rem;
}

.name span {
display:block;
font-size:1.6rem;
line-height: 1.9rem;
padding:.2rem 0;
}


/* top-icon - hier der stuhl */

.name-2  {display:table;table-layout:fixed;POSITION:absolute;z-index:1;
width:16rem;height:16rem;
bottom:-8rem;left:50%;
margin-left:-8rem;
vertical-align:middle;
padding:0rem;
border-radius:36rem;
background:white;
}

.name-2 .inner  {display:table-cell;padding:0rem;
text-align:center;vertical-align:middle;
}

.name-2 .inner i {
color:#4c2f26;
font-size:10rem;
text-shadow:0 1px 2px rgba(0,0,0,.2);
}

.name-2 .inner i:hover { }


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

#logo {
display:block;
width:100%;
padding:0rem 0;
margin:0 auto;
background:#ede4d2;
color:#CBCED8;
padding:5rem 2rem 2rem 2rem;background-image:url(../images/logo03.jpg);
background-position:50% 55%;
background-repeat:no-repeat;
background-size:cover;
}

#logo .box-table {
display:block;
width: 100%;
color:#fff;
background:transparent;
padding:1rem  .5rem;
margin:0 auto;
margin:0rem;
}

#logo .box-table.logo-a,
#logo .box-table.logo-b  {text-align:center; }

#logo img {border:solid 1rem white;box-shadow:0 0 40px rgba(0,0,0,.8) }



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

#inhalt {display:block;
background:#fcf8e9;
color:#4c2f26;
padding:0rem;
}

.inhalt-a {display:block;
width:100%;
margin:0 auto;
padding:5rem 2.5rem 7rem 2.5rem;
}


/*  ----------------------------------------  */
/* box extra (leistungen)  */
/*  ----------------------------------------  */

#extra  {display:block;
background:#ede4d2;
margin:0 auto;text-align:center;
padding:2rem 1rem 2rem 1rem
}

#extra h2,
#extra h3 {color:#000;font-weight:normal; }

#extra article.text h3 {
font-size:1.7rem;
line-height:2rem;
}

#extra .box-table {display:inline-block;
background:transparent;padding:.2rem;
margin:0;
margin-bottom:3rem;
text-align:left;
}

#extra .box-table:last-child {
margin-bottom:0rem;
}

#extra .liste-spez li {line-height:2.5rem; }



/*  ----------------------------------------  */
/* box adresse  */
/*  ----------------------------------------  */

#adresse {display:block;
background:#ede4d2;
padding:1rem 2rem 1rem 2rem
}


/*  ----------------------------------------  */
/* box presentation  */
/*  ----------------------------------------  */

#presentation  {display:block;text-align:center;  }

#presentation  article.text h3 {
font-size:1.5rem;
line-height:1.8rem;
text-align:center;
}

#presentation .box-table {display:inline-block;
background:transparent;padding:.2rem;
margin:0;
margin-bottom:7rem;
text-align:left;
}

#presentation  .box-table:last-child {
margin-bottom:0rem;
}




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

footer {
background:#895445;
background-image:url(../images/logo03.jpg);
background-position:50% 55%;
background-repeat:no-repeat;
background-size:cover;
margin:0;
padding:1rem 0rem 0rem 0rem ;
}

#fuss {display:block;
width:100%;
margin: 0 auto;
padding:0 ;
}

.fuss-a {display:block;
margin: 0 auto;
padding:0 1rem 0 2rem;padding:5rem 2.5rem 7rem 2.5rem;
}

#fuss .box  {
text-align:left;
padding:1rem 1rem;
margin-bottom:1rem;
}

#fuss .box h3 {
text-align:left;
font-size:1.4rem;
color:white;
font-weight:bold;
margin-bottom:1rem;
text-transform:uppercase;
}

#fuss .box h3:first-letter {
color:yellow;font-size:1.6rem;
}

#fuss .box h3:after {display:block;
border-top: 3px solid #fff;
width: 30px;
content: "";
margin: 0;
margin-top: 0rem;
}

.day  {display:inline-block;
width:5rem;font-weight:bold;
}


/*  ----------------------------------------  */
/*  die wesentlichen schriftformate für den gesamten footer plus fussmenu */
/*  ----------------------------------------  */

#fuss,
#fuss a {
color:#fff;
text-shadow:0px 1px 6px rgba(0,0,0,.6);
font-weight:bold;
font-size:1.5rem;
line-height:2.2rem;
text-decoration:none;
}

.fussmenu  ul {text-align:left;list-style: none;padding: 0;margin: 0; }
.fussmenu li { display:block; }
#fuss li a:hover  {color:#fff;text-decoration:underline }






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

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

/*
 - hinweis -
für die kleinste smartphone-auflösung von 320 pixel benötigen wir KEINE bildschirmabragen (css-media queries),
denn hierfür gilt ja automtisch 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%; }

.inhalt-a  {padding:5rem 4rem;}
.fuss-a {padding:5rem 4rem; }

.box-1_of_2  {width: 50%; }
.box-1_of_3  {width: 33.33%;  }
.box-1_of_4  {width: 50%; }

}


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

#fuss .box-1_of_3  {width: 50%; }

#extra .button  {text-align:left; }

}


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

/* keine angabe */

}


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

html {font-size:80%; }

.inhalt-a  {width:740px;}

#logo {display:table;
width: 100%;
border-spacing:0rem .1rem;
table-layout:fixed;
border-collapse:separate;
padding:3rem 5vw 3rem 5vw;
}

#logo .box-table {display:table-cell;vertical-align:middle;
padding:0rem 1rem;
}

#logo .box-table.logo-a  {text-align:right; }
#logo .box-table.logo-b  {text-align:left; }


.box-1_of_4  {width: 25%; }
#adresse .box-1_of_2  {width: 50%;}


article.text {font-size:1.3rem;}

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

#fuss .box h3 {font-size:1.3rem; }


}


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

.inhalt-a  {width:100%; }

.name {
font-size:3.8rem;
line-height: 4.3rem;
}

.name span {
font-size:2rem;
line-height: 2.3rem;
}

#logo {padding:5rem 5vw 4rem 5vw;}

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

#extra  {display:table;
width: 100%;
border-spacing:2rem .1rem;
table-layout:fixed;
border-collapse:separate;
}

#extra .box-table {display:table-cell;vertical-align:middle; }

#presentation {display:table;
width: 100%;
border-spacing:.2rem .1rem;
table-layout:fixed;
border-collapse:separate;
}

#presentation .box-table {display:table-cell;vertical-align:top; }
}


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

pre {width:70%; }

}


/* ===================================== ab 1280 pixel ================================= */

@media (min-width: 1280px) {

.inhalt-a, #fuss  {width:1280px;}

#logo {padding:5rem 10vw 5rem 10vw;}

#presentation  {border-spacing:1rem .1rem; }


}


/* ===================================== ab 1400 pixel ================================= */

@media (min-width: 1400px) {

/* keine angabe */

}


