

/* = = = = = = = = = = = = = = = = = 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%;
font-size:1.7rem;
margin: 0 auto;
overflow-x:hidden;
color:#243348;
}


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

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

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

h2 {
font-size:2.3rem;
line-height: 3rem;
margin-top: 1rem;
margin-bottom: 3.5rem;
letter-spacing:1px;
}

h2:after {display:block;
border-top: 1px solid #333C62;
width: 70px;
content: "";
margin-top: 2rem;
}


h3 {color:darkslategray;
font-size:1.8rem;
line-height: 2.2rem;
margin-top: 1rem;
margin-bottom:2.5rem;
letter-spacing:0px;
}


/* ----- 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 slategray;
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:slategrey;padding:0 .5rem;
transform:rotate(-45deg);
}

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

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

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


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

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


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

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

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

.button .mehr_lesen a {display:inline-block;
background:slategray;
color:#fff;
border-radius:0.6rem;
text-decoration:none;
padding:.3rem 1rem ;
transition:all  .3s ease-out;
cursor:pointer;
}

.button .mehr_lesen a:hover {color:#000;
background:#fff;
box-shadow:0 0 8px rgba(0,0,0,.1);
}


/* ----- 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:"\f0da" ;
transform:scale(.9);
color:white;
padding: 0 .5rem 0 0;
margin:0;
}

.button .mehr_lesen a:hover:before {color:steelblue }


/*  ----------------------------------------  */
/* spezielle button-platzierung mit position:relative/absolute */
/* siehe beim abschnitt tertius und quintus */
/*  ----------------------------------------  */

.button-position {POSITION:relative; }


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

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



/* ----- style 2 -  wenn icon (fontawesome) vorangestellt ----- */

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

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

.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 */
}



/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */
/*  GRID-SYSTEM  - für Bilder / 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) 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  {text-align:center; }
.bilder .box  {padding:.4rem; }

.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_2 {width:50%; }
#gallery .bilder .box-1_of_3 {width:33.33%; }

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

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


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

#information  .box-1_of_2 {width: 100%; }
#kontakt .box-1_of_2 {width: 100%; }



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

header {background:#fff; }


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

#top {display:table;width:100%;
padding:0rem;
background:#EAECF4;
POSITION:fixed;
z-index:1;
box-shadow:0 0 .6rem rgba(0,0,0,.3);
}

.top-a {display:table-cell;vertical-align:top;
width:auto;
text-align:center;
padding:1rem 1.5rem 1rem 0;
}

.top-b {display:table-cell;vertical-align:top;
width:auto;
text-align:center;
padding:1rem 0;
}


/* homepagename  */

.name {text-transform:none;
display:inline-block;
color:#39426C;
font-weight:bold;
margin:0 auto;
padding:0rem 1rem;
font-size:2rem;
line-height: 2.3rem;
}



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

#logo {
display:table;border-spacing:.2rem 0rem;
width:100%;height:100vh;
margin:0 auto;
padding:4.8rem 0 0 0;
}

.logo-a  {display:none;vertical-align:middle;
width:100%;height:38rem;
padding:0;
text-align:center;
background-image:url(../images/picture10.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}

.logo-b  {display:table-cell;vertical-align:middle;
text-align:center;
height:38rem;
padding:0;
background-image:url(../images/picture30.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}

.logo-c  {display:none;vertical-align:middle;
height:38rem;
padding:0;
text-align:center;
background-image:url(../images/picture15.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}


/* spruch*/

.spruch-wrapper {display:table;width:100%;
height:20rem;width:20rem;
margin:0 auto;
}

.spruch {display:table-cell;vertical-align:middle;
background:rgba(255,255,255,.9);
border-radius:36rem;
color:#000;font-weight:normal;
padding:.2rem;
font-size:1.6rem;
letter-spacing:0px;
box-shadow:  0 0 20rem white;
}

.spruch span {text-transform:uppercase;
font-weight:bold;
}



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

main#inhalt {display:block;
background:transparent;
padding:0rem;
margin:0 auto;
}

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


/*  link-spez - icon vor den allg. links  */

main#inhalt .link-spez 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:"\f35d";
margin-right:0rem;
margin-left:0rem;
color:slategray;
transform:scale(.6);
transition:all .2s ease-out;
}

/* icon hover */
main#inhalt .link-spez a:hover:before  {
color:maroon;
}


/*  ----------------------------------------  */
/*  NTH-CHILD - jeder ungerade (odd) abschnitt, also 1, 3, 5 , 7 usw. */
/*  ----------------------------------------  */

.section-inhalt:nth-child(odd) {
background:#fff;
}


/*  ----------------------------------------  */
/*  NTH-CHILD - jeder gerade (even) abschnitt , also 2, 4, 6 , 8 usw. */
/*  ----------------------------------------  */

.section-inhalt:nth-child(even)  {
background:#F4F6F9;
}


/*  ----------------------------------------  */
/*  NTH-CHILD - nur der dritte (3) abschnitt  */
/*  ----------------------------------------  */

.section-inhalt:nth-child(3)  {
text-align:center;
}

.section-inhalt:nth-child(3) .inhalt-a {width:100%;background:transparent;padding:0; }
.section-inhalt:nth-child(3) .inhalt-a .box {padding:0; }


/*  ----------------------------------------  */
/*  NTH-CHILD - nur der sechste (6) abschnitt */
/*  ----------------------------------------  */

.section-inhalt:nth-child(6)  {
background-image:url(../images/picture17.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}

.section-inhalt:nth-child(6) .inhalt-a  {
background:transparent;
}

.section-inhalt:nth-child(6) h2 {
text-shadow:1px 1px 2px rgba(255,255,255,.9);
}


/*  ----------------------------------------  */
/*  box LEISTUNGEN                               */
/*  ----------------------------------------  */

#leistungen .box {margin:.5rem 0;
background:radial-gradient(circle,white,#F9F9F9 );
border-radius:0.8rem;
padding:2rem 1.5rem ;
}

#leistungen .box h3 {
margin: 1rem 1rem 1.5rem 0rem;
text-align:left;
}


/* icons */

#leistungen i {margin:0 0 1rem 0;
text-align:center;
font-size:2.6rem;
width:5rem;height:5rem;
line-height:5rem;
color:#fff;
background:tomato;
border-radius:36rem;
}

#leistungen .box:nth-child(1) i {background:slategray; }
#leistungen .box:nth-child(2) i {background:darkkhaki ; }
#leistungen .box:nth-child(3) i {background:steelblue; }

#leistungen.more .box:nth-child(1) i {background:indianred; }
#leistungen.more .box:nth-child(2) i {background:orangered; }
#leistungen.more .box:nth-child(3) i {background:palevioletred; }


/*  ----------------------------------------  */
/* box fotoblock  */
/*  ---------------------------------------- */

/* spezielle button-platzierung mit position:relative/absolute */
#fotoblock.button-position .button  {
POSITION:absolute;
top:0rem;left:.1rem;
transform:rotate(90deg);
transform-origin: bottom left;
}

#fotoblock .button .mehr_lesen a {display:table-cell;vertical-align:middle;
background:rgba(0,0,0,.5) ;
color:#fff;padding:1rem 1rem;border:solid 1px slategray;
}


/*  ----------------------------------------  */
/* box information  */
/*  ---------------------------------------- */


#information .box img {
border-radius:1rem; }

#information  h3 {
margin: 3rem 1rem 1rem 1rem;
text-align:left;
}

/* liste-spez  */

#information .liste-spez ul  {
padding:1rem 1rem 1rem 2.5rem;
}

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


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

#presentation .box  {display:inline-block;
background:radial-gradient(circle,white,#F9F9F9 );
margin:0;
margin-bottom:5rem;
padding:0rem ;
text-align:left;
border-radius:0.8rem;
}

#presentation .box h3 {
margin-top:0;
margin-bottom:1.5rem;
text-align:left;
}

#presentation article.box-inner {
padding:2rem 1.5rem 3rem 1.5rem;
}

#presentation .box img {border-top-right-radius:0.8rem;border-top-left-radius:0.8rem; }



/* icons - plus-zeichen */


#presentation span {display:block;
POSITION:absolute;z-index:0; bottom:0%;right:0%;
margin-bottom:-0rem;margin-right:0rem;
}

#presentation span i  {text-align:center;
display:block;
font-size:1.3rem;
width:3rem;height:3rem;
line-height:3rem;
color:slategray;
background:white;
border-radius:0rem;
font-style:normal;
box-shadow:0 0 1px rgba(0,0,0,.2);
cursor:pointer;
}


/*  ----------------------------------------  */
/*  box KONTAKT                               */
/*  ----------------------------------------  */

#kontakt .box {padding:2rem 2.5rem ;
background:linear-gradient(to right, white,rgba(255,255,255,.7),white );
border-radius:1.5rem;
box-shadow:0 0 20px rgba(0,0,0,.1);
margin-bottom:2rem;
}

#kontakt  h3 {
margin: 0rem 1rem 1rem 0rem;
text-align:left;
}

/* icons */

#kontakt  i {
transform:scale(.8);
color:slategray;
margin-right:1rem;
}


.liste-spez b.day {display:inline-block;width:6rem;font-weight:normal;padding-left:0rem; }

#kontakt .liste-spez-2   {margin:0 0 0 1rem; }



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

footer {
background:linear-gradient(to right, #F9F9F9 ,#fff, #F9F9F9);
background:slategray;
margin:0 auto;
padding:0rem ;
border-top: solid .1rem rgba(50,50,50,.1);
}

#fuss {display:block;
margin: 0 auto;
padding:0rem;
}

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

#fuss .box {
padding:0rem 0rem;
}

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


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

#fuss,
#fuss a {
color:lightgrey;
font-weight:normal;
font-size:1.4rem;
line-height:3rem;
padding:0 .2rem;
letter-spacing:1px;
text-transform:uppercase;text-decoration:none;
}

.fussmenu  ul {text-align:center;list-style: none;padding: 0;margin: 0;}
.fussmenu li { display:inline-block; }

#fuss li a:hover  {color:#fff;text-decoration:underline }


/* social media */

.fussmenu li a span i {
font-size:1.5rem;
border-radius:.4rem;
color:lightgrey;
padding:.7rem;
margin:0rem;
transition:all .4s;
}

.fussmenu li a:hover span i {transform:rotate(25deg) }



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

.bilder .box-1_of_4  {width: 50%; }
#kontakt .liste-spez-2    {margin:0 0 0 2rem; }
.fuss-a {padding:2rem 5rem; }

}


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

.inhalt-a {width:90%; }

.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%; }

.inhalt-a  {width:740px;}

#logo {height:auto; }
.logo-a, .logo-b , .logo-c   {display:table-cell;width:33.33%; height:30rem; }

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

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

}


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

.inhalt-a  {width:100%; }

.logo-a, .logo-b , .logo-c   { height:38rem; }

.bilder .box-1_of_4b  {width: 50%; }
#fotoblock .bilder .box-1_of_3  {width: 33.33%; }
#information  .box-1_of_2 {width: 50%; }

#leistungen {display:table;width:100%; border-spacing:1rem .5rem; table-layout:fixed; }
#leistungen .box {display:table-cell;font-size:1.4rem; }

#presentation-wrapper {width:100%; }
#presentation {display:table;width: 100%;border-spacing:1rem 0rem;table-layout:fixed; }
#presentation .box {display:table-cell; }

#kontakt {display:table;width: 100%;border-spacing:2rem 0rem;table-layout:fixed; }
#kontakt .box {display:table-cell; }

}


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

pre {width:70%; }

}


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

.inhalt-a  {width:1280px;}

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

}


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

html {font-size:85%; }


}