

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

body {height:100%;
font-size:1.8rem;
margin: 0 auto;
overflow-x:hidden;
color:#163A31;
background:#f5f5f6;
}

#container {background:#f5faf5;margin:0 auto; }


/* ---- überschriften ----- */

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

h2 {font-family: sserif;
font-size:2.6rem;
line-height: 3.3rem;
margin-top: 2rem;
margin-bottom: 3.5rem;
letter-spacing: 0rem;
}

h3 {
font-size:2.1rem;
line-height: 3rem;
margin-top: .5rem;
margin-bottom:2.5rem;
letter-spacing: 0rem;
}


/* ----- quelltext-erklärungen - 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:dotted 0.1rem #686868;
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:#95B09A;padding:0 .5rem;
transform:rotate(-45deg);
}


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

a  {color:#163A31;
text-decoration: underline; }

label a {cursor:pointer; }

a:hover {color:#163A31;
text-decoration: none;
}




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

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


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

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

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

.button .mehr_lesen a {display:inline-block;
color:#1f1f1f;
background:#f6fbed;
text-transform:uppercase;
font-size:1.5rem;
letter-spacing:2px;
border-radius:.5rem;
text-decoration:none;
padding:.4rem 1.5rem ;
cursor:pointer;
background-size: 250% 300%;

}

.button .mehr_lesen a:hover {color:#1f1f1f;
animation:change-bg 3s  ease-out; /* s. in datei 'animation.css' */
animation-direction:normal;
animation-fill-mode:forwards;
background-image: repeating-linear-gradient(-45deg, ghostwhite 0%, #E9ECE6 15%, whitesmoke, azure 45%);
}


/* ----- 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 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 .5rem 0 0 ;
content:"\f152";
color:#5C7861;
}

a.extra-link:hover:before {color:#5C7861; font-weight: 400;}


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

/* ----- style 1 - mit aufzählungszeichen ----- */

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

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

/* aufzaehlungszeichen marker */
.liste-spez li { }
.liste-spez li::marker { color: #266455;font-weight:bold }


/* numerische liste - ordered list */

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

.liste-spez ol li {padding-left:.5rem; }
.liste-spez ol li::marker { color: #1B3630; 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;
list-style-position: inside; /* rückt gfls zweite zeile ein*/
text-indent:-1.5rem; /* rückt gfls zweite zeile ein */
padding-left:1.5rem; /* rückt gfls zweite zeile ein */
}

.liste-spez-2  i {transform:scale(.9);padding-right:1rem;color:#266455; }
.liste-spez-2 li a:hover i {color:#3A9A83; }


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

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

.box {display:inline-block;
text-align:left;
vertical-align:top;
width:100%;
padding: 2rem;
margin:0  -.25rem -.25rem -.25rem; /* ausgleich ( minus-margin) für 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  {margin:-.8rem -1rem; text-align:center; }
.bilder .box  {padding:1rem; }

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

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

.bilder.gallery img  {border-radius:.5rem; }

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



/*  ---------- boxen - andere ---------- */

.wrapper {display:inline-block;width:100%;
background:#e4f1e6;
border-radius:2rem;
padding:0rem;
}

#leistungen .box-1_of_2  {width: 100%; }
#leistungen .box-1_of_3  {width: 100%; }
#leistungen .box-1_of_4  {width: 100%; }
#service .box-1_of_2  {width: 50%; }
#service .box-1_of_3  {width: 50%; }
#fuss .box-1_of_3 {width: 100%; }

/* spricht nur die verschachtelten 2er-boxen bei .special an */
.special.box.box-1_of_2 {width:100%; }


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

header {display:block;height:100%; padding:1rem 0 0 0; }

#logo {display:block;
text-align:center;
padding:0 1.5rem ;
}

.logo-a, .logo-b  {display:inline-block;
width:100%;
margin:1.5rem 0;
padding:0rem;
}

.logo-a .box {padding:0rem; }

.logo-a.wrapper {
background:transparent;
margin:0;padding:0;
}

.logo-b.wrapper {padding:0; }

#logo .header-pic {display:block;;min-height:30rem;
background:#CAE3CE;
background-image:url(../images/medium_picture517.jpg);
background-repeat:no-repeat;
background-position:50% 60%;
background-size:cover;padding:0;
border-radius:2rem;
}


/* logo-object  */

#logo .name {display:block;font-family:sans-serif;
text-align:center;
color:#3f3f3f;
font-weight:normal;
text-transform:none;
font-size:2.1rem;
line-height: 2.4rem;
letter-spacing:1px;
margin: 0 ;
padding:.5rem 2rem;
}

#logo .seitentitel {display:block;
background:#e4f1e6;
color:#5f5f5f;
font-size:1.7rem;
line-height:2rem;
padding:1rem .5rem;
letter-spacing:2px;
text-transform:none;
border-top-left-radius:2rem;
border-top-right-radius:2rem;
}


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

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

.inhalt-a {display:inline-block;
width:100%;
margin:1.5rem 0;
padding:0rem;
}

/* text unter dem bild */

article.text {padding:1.5rem 0 0 0;}
article.text.smallfont {font-size:auto; }

article.text h4 {
font-size:1.8rem;
line-height: 3rem;
margin-top: .5rem;
margin-bottom:1rem;
letter-spacing: 0rem;
}

/* icon-gruppe - big icons */

.big-icons .icon {display:block;
width:10rem;height:100%;
margin:0 auto;
}

.big-icons .icon i {
display:table-cell;
vertical-align:middle;
width:10rem;height:10rem;
font-size:5rem;
background:#f5faf5;
color:#95B09A;
text-shadow:1px  1px 0 rgba(0,0,0,.1);
padding:0rem;
border-radius:2rem;
box-shadow:0px  0px 2px rgba(0,0,0,.2);
}

.big-icons a:hover i, .big-icons i:hover {
background:#fff;
color:#95B09A;
}

/* icon-gruppe - big icons - style-2 */

.big-icons.style-2 i {
background:#becdc0;
color:#EAEEEB;
}

.big-icons.style-2 a:hover i, .big-icons.style-2 i:hover {
background:#becdc1;
color:#fff;
}


/* icon-gruppe - big icons - style-3 */

.big-icons.style-3 i {
background:#a56a66;
color:#f5faf5;
}

.big-icons.style-3 a:hover i, .big-icons.style-3 i:hover {
background:#c49591;
color:#fff;
}



/*  ----------------------------------------  */
/* bereich start */
/*  ----------------------------------------  */

#start i {color:#95B09A; }


/*  ----------------------------------------  */
/* bereich leistungen  */
/*  ----------------------------------------  */

#leistungen .box  {text-align:center;padding:.5rem .5rem; }

#leistungen article h4 {text-align:center;font-weight:normal;}

#leistungen a   {text-decoration:none; }


/*  ----------------------------------------  */
/* bereich service */
/*  ----------------------------------------  */

#service .box  {text-align:center;padding:.5rem .5rem; }

#service a   {text-decoration:none; }


/* platzierung der nummern auf dem icon mit position:relative/absolute */

#service .number {position:relative; }

#service article b {position:absolute;
bottom:.9rem;left:50%;
width:2.2rem;height:2.2rem;
line-height:2.2rem;
margin-left:-1.1rem;
background:#F5FAF5;
color:#5C6D5C; border-radius:36rem;
}


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

footer#fuss {
display:block;
text-align:center;
padding:0 1.5rem 1.5rem 1.5rem ;
}

.fuss-a {display:inline-block;
width:100%;
text-align:left;
margin:1.5rem 0;
padding:0rem;
}

#fuss .box  {margin-bottom:-2rem; }

#fuss .box h3 {
text-align:left;
font-size:1.7rem;
letter-spacing:2px;
font-weight:bold;
text-transform:uppercase;
margin-top:1rem;
margin-bottom:1rem;
}

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

/* gilt nur für jeden zweiten article in der jeweiligen fuss box, also hier für SOCIAL MEDIA ICONS   */
#fuss .box article:nth-child(2) {margin-top:3rem; }


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

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

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


/* icons social media */

.fussmenu ul.social li  {display:inline-block; margin-right:1rem;margin-bottom:1rem; }
.fussmenu ul.social li i {display:block;color:#95B09A;transition:all .6s ease-out; }
.fussmenu ul.social li a:hover i {color:#3f3f3f;transform:rotate(720deg) }



/* ############################################################ */
/* 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%; }

.wrapper {padding:.7rem 1rem 1rem 1rem  }

.bilder .box-1_of_4  {width: 50%; }
#leistungen .box-1_of_2  {width: 50%; }
#leistungen .box-1_of_3  {width: 50%; }
#leistungen .box-1_of_4  {width: 50%; }
#leistungen .box-1_of_6  {width: 50%; }


}


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

.wrapper {width: 90%; }

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

}


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

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

}

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

html {font-size:80%; }

.wrapper  {width: 700px; }

#logo .header-pic {border-top-left-radius:0rem; border-top-right-radius:0rem;}

#logo .seitentitel {display:none; } /* ausblendung seitentitel */

}


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

/* keine angabe */

}


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

html {font-size:70%; }

.wrapper {width: 95%; }

article.text.smallfont {font-size:18px; }

.bilder.gallery  img  {border-radius:2rem; }
.bilder .box-1_of_2b  {width: 50%; } /* bilder mit text darunter */
.bilder .box-1_of_3  {width: 33.33%;  }
.bilder .box-1_of_4  {width: 25%; }

#leistungen .box-1_of_3  {width: 33.33%; }
#leistungen .box-1_of_4  {width: 25%; }
#leistungen .box-1_of_6  {width: 33.33%; }


/* inhalt der special-boxen auf vertikale ausrichtung gesetzt. ausnahme bei #start */
.special.box  {vertical-align:middle;}
#start .special.box  {vertical-align:top;}

/*  spricht nur die 2er-boxen bei .special an */
.special.box.box-1_of_2 {width:50%; }

.fuss-a, .fuss-a a {font-size:1.3rem; }
#fuss .box h3 {font-size:1.3rem; }
#fuss .box-1_of_3  {width: 33.33%; }

/* gilt nur für jeden zweiten article in der fuss box, also hier für SOCIAL MEDIA ICONS  */
#fuss .box article:nth-child(2) {margin-top:.5rem; }

}


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

/* quelltext-erklärungen */
pre {width:70%; }

}


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

html {font-size:80%; }

}


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

html {font-size:85%; }

.wrapper  {width: 1250px;  }



}


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

#container {width: 1350px;box-shadow:0 0 3px rgba(0,0,0,.1) }

#leistungen .box-1_of_6  {width: 16.66%; }

}