

/* = = = = = = = = = = = = = = = = = 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;
font-weight:normal;
height:100%;
}

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


p.break  {
line-height:7rem;margin:0;
}


h1, h2, h3, h4, h5 {color:#000;
text-align:left;
letter-spacing:0px;
font-weight:bold;
text-transform:none;
}

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

h2 {
font-size:2.5rem;
line-height: 3rem;
margin-top: 2rem;
margin-bottom: 3.5rem;
}

h3 {
font-size:1.9rem;
line-height: 2.3rem;
margin-top: 1rem;
margin-bottom:2.5rem;
letter-spacing:0rem;
}

h2:after {text-align:left;
border-top: 6px solid #4684B7;
display: block;
width: 60px;
content: "";
margin: 8px 0 ;
}


/* allgemeine links  */

a {background-color:transparent;
color:#000 ;
text-decoration: underline;
}

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



/* quelltext-erklärungen mit pre-tag - wenn vorhanden */
pre {white-space:pre-wrap;position:relative;
font-size:1.5rem;
padding:1rem 0.5rem 1rem 0.5rem;
margin:2rem auto;
text-align:center;
background:#f1f1f1;
color:#000;
border:none;
font-family:'open_sanslight',georgia, tahoma, arial, Verdana, Segoe, 'Open Sans',helvetica,roboto ,sans-serif;
}

pre .extra {display:inline-block;position:absolute;left:0rem;top:1rem;font-size:2rem;
color:#5F5F5F;font-weight:bold;
transform:rotate(-45deg);
}



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

/* bilder  anpassen der grösse  */
/*
wenn sie eigene einzelne bilder einbauen, unabhängig von unserem bilderstystem,
dann werden diese bilder maximal (max-width) so gross wie die original-abmessungen des bildes
bwz. des umschliessenden containers wenn vorhanden
*/

img {max-width: 100%;
height: auto;
margin:0 auto;
}


/*   WEITER-BUTTON */

.btn   {display:block;text-align:center; }

.btn span.weiter  {color:#000;display:inline-block;
background:#fff;
padding:.4rem 1.6rem .4rem 1.2rem;
border-radius:0;
cursor:pointer;text-align:center;width:auto;
border:solid 1px #fff;
border-radius:6px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3),
inset -2px 0 3px 2px rgba(255, 255, 255, 0.6),
inset 2px 0 3px 2px rgba(255, 255, 255, 0.6),
inset -10px 0 10px 1px rgba(155, 155, 155, 0.1),
inset 10px 0 10px 1px rgba(155, 155, 155, 0.1);
}

.btn span.weiter:hover {color:#fff;background:#6297C1;
border:solid 1px transparent;
text-decoration:none; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3)

}

.btn .weiter:before {display:inline-block;
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. */
content:"\f0da";
text-decoration: none;
color:#69ABDA;
padding:.2rem 0;
margin:0 .6rem 0em .4rem;
}

.btn .weiter:hover:before {color:#fff;
}

/*  spruch/zitat */

#zitat {margin:0 8vw; }

#zitat   span {font-style:italic; }

#zitat  span:before {display:inline-block;
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. */
content:"\f10d";
color:#4682B4;
font-size:3rem;
line-height:0;
margin-right:1rem;
}


/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */
/*  GRID-SYSTEM #1  - mit DISPLAY:INLINE-BLOCK */
/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */

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

.box {display:inline-block;
width:100%;
vertical-align:top;
padding:2rem;
margin:0 -.2rem .1rem -.2rem ;/* ausgleich ( minus-margin) für INLINE-BLOCK-WHITESPACE-BUG*/
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6),
inset -2px 0 3px 2px rgba(255, 255, 255, 0.4),
inset 2px 0 3px 2px rgba(255, 255, 255, 0.4),
inset -10px 0 10px 1px rgba(155, 155, 155, 0.1),
inset 10px 0 10px 1px rgba(155, 155, 155, 0.1);
}

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



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

.logo {display:table;
width:100%;
margin:0;
padding:0;
text-align:center;
border:solid 1.5rem #fff;
}

.logo-content {position:relative;display:table-cell;overflow:hidden;
width:100%;height:100vh;
border:solid 1rem #346983;
padding:0rem 0rem;
margin:0 ;
background-image:url(../images/picture10.jpg);/* dieses foto erscheint nur, wenn man die slideshow im html-bereich loescht */
background-position:50% 55%;
background-repeat:no-repeat;
background-size:cover;
}

#name  {position:absolute;z-index:1;background:rgba(0,0,0,.4);
top:50%;left:50%;
width:32rem;height:24rem;
margin-top:-12rem;
margin-left:-16rem;
display:inline-block;
color:#fff;
}

#name .inhalt {display:table-cell;
width:30rem;
height:24rem;
padding:1rem;
vertical-align:middle;
font-size:2.2rem;
line-height:2.5rem;
padding:0;
font-weight:bold;
font-family:serif,verdana;
text-shadow:0px 0px 2px black;
}

#name .inhalt span {letter-spacing:3px;color:#fff;
font-size:1.8rem;
line-height:2.1rem;
}


/* icons  */

.logo .fas  ,
.logo .fab ,
.logo .far  {display:inline-block;
font-size:5rem;
color:white;padding:1rem 1rem;
text-align:center;
margin:0 auto;
}


/* ############################################################ */
/* bereich content */
/* ############################################################ */

.section-content {display:table;
width:100%;
margin:0;
padding:0;
color:#000 ;
border-bottom:solid .1rem #B9D0E1;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3),
inset -2px 0 3px 2px rgba(255, 255, 255, 0.6),
inset 2px 0 3px 2px rgba(255, 255, 255, 0.6),
inset -10px 0 10px 1px rgba(155, 155, 155, 0.1),
inset 10px 0 10px 1px rgba(155, 155, 155, 0.1);
}

.content {
display:table-cell;
width:100%;
height:50vh;
margin: 0 auto;
padding:10vh 10vw;
text-align:left;
vertical-align:middle;
}


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

.section-content:nth-child(odd) {
background:#fff;
color:#000;
}


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

.section-content:nth-child(even) {
background:#f1f1f1;background:linear-gradient(to bottom, #f1f1f1, #FCFCFC, #f1f1f1);
color:#000;
}


/*  ----------------------------------------  */
/*  NTH-CHILD - nur der dritte abschnitt */
/*  ----------------------------------------  */

.section-content:nth-child(3) {
background:linear-gradient(to bottom,  #76A4D1, #274F76 ,#76A4D1);
}

.section-content:nth-child(3)  h1 ,
.section-content:nth-child(3)  h2 ,
.section-content:nth-child(3)  h3  {
color:#FCFDFE;
}

.section-content:nth-child(3) h2:after {
border-top: 6px solid #fff;
}



/*  ----------------------------------------  */
/*  box ABOUT                                 */
/*  ----------------------------------------  */


/* icons  */

#about .fas  ,
#about .fab ,
#about .far  {display:block;
font-size:6rem;
color:steelblue ;
text-align:center;
margin:0 auto;
}

#about h3 {margin-top:1rem;margin-bottom:.5rem;
font-size:1.4rem;
color:#000;
text-align:center;
text-transform:uppercase;
font-weight:bold;
}

#about .box {background:white;
margin-bottom:.3rem;
padding:0rem;padding:2rem;
}

#about .box-1_of_3 {
width:100%;
text-align:center;
}


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


#leistungen ul {text-align:center;
padding:0rem;
margin:0;
}

#leistungen  .angebote li {list-style:none;
line-height:4rem;
padding:0rem;
margin:0;display:block;
border-bottom:solid 1px #CFCFCF;
}

#leistungen  .angebote li:first-child {
background:linear-gradient(to right, lightskyblue, steelblue, lightskyblue);
color:white;
font-size:2rem;
font-weight:bold;
line-height:8rem;
}

#leistungen  .angebote li:last-child {
font-size:3rem;
line-height:3rem;
border-bottom:0;
padding:2rem 0;
}

#leistungen  .angebote li:last-child span {
font-size:1.6rem;
}

/* icons  */

#leistungen  .angebote .fas  ,
#leistungen  .angebote .fab ,
#leistungen  .angebote .far  {display:inline-block;
color:steelblue ;
text-align:center;
margin:0 auto;margin:1rem  .2rem 1rem .2rem;
width:3rem;
height:3rem;
line-height:3rem;
font-size:3rem;
border-radius:0;
}


/* -----GRID-SYSTEM #2  - mit DISPLAY:TABLE  ----- */

#leistungen.wrapper-box-table {
display:table;
table-layout:fixed;
width:100%;
padding:0rem;
}

#leistungen  .box-tabcell {min-height:20rem;
display:inline-block;
background:#fff;
color:#000;
width: 100%;
padding:0rem ;
margin-bottom:2rem;
vertical-align:top;
text-align:center;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3),
inset -2px 0 3px 2px rgba(255, 255, 255, 0.6),
inset 2px 0 3px 2px rgba(255, 255, 255, 0.6),
inset -10px 0 10px 1px rgba(155, 155, 155, 0.1),
inset 10px 0 10px 1px rgba(155, 155, 155, 0.1);
}

#leistungen   h3 {margin-top:.5rem;margin-bottom:.5rem;
font-size:2.2rem;
color:#000;
text-align:center;
font-weight:bold;
border-bottom:solid 1px #CFCFCF
}

#leistungen  .box {
box-shadow:none;
}


#leistungen  .box-1_of_2 {
width:100%;
text-align:center;
}

#leistungen  img {border-radius:0;box-shadow:0px 0px 2px black; }


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


#kontakt ul {text-align:left;
padding:0rem;
margin:0;
}

#kontakt  li {list-style:none;
padding:0rem;
margin:0;
}

/* -----GRID-SYSTEM #2  - mit DISPLAY:TABLE  ----- */

#kontakt.wrapper-box-table {
display:table;
table-layout:fixed;
font-size:1.4rem;
width:100%;
padding:0rem;
}

#kontakt .box-tabcell {min-height:15rem;
display:inline-block;
background:#fff;
color:#3F3F3F;
width: 100%;
padding:2rem 1rem ;
margin-bottom:2rem;
vertical-align:middle;
text-align:center;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3),
inset -2px 0 3px 2px rgba(255, 255, 255, 0.6),
inset 2px 0 3px 2px rgba(255, 255, 255, 0.6),
inset -10px 0 10px 1px rgba(155, 155, 155, 0.1),
inset 10px 0 10px 1px rgba(155, 155, 155, 0.1);
}


/* ----- icons ----- */

#kontakt a  {color:#3f3f3f;
text-decoration:underline;
}

#kontakt a:hover  {
text-decoration:none;
}

#kontakt .fas ,
#kontakt .fab ,
#kontakt .far  {display:inline-block;text-align:center;
margin:-.18rem  .8rem .4rem -.18rem;
padding: 0;
width:2.5rem;
height:2.5rem;
line-height:2.5rem;
font-size:1.4rem;
background:transparent;
color:steelblue;
}

.day  {display:inline-block;
width:7rem;font-weight:normal;
}



/*  ----------------------------------------  */
/*  box INFORMATION                               */
/*  ----------------------------------------  */

/* bereich objekt-wechsler */

#information {
width:100%;
overflow:hidden;border:dashed 3px #CFCFCF;
color:#000;
margin:0;
padding:0;
}



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

.section-fuss {
width:100%;
color:#fff ;
background:#4682B4;
background:radial-gradient(circle,#77A5CA , #236494);
}

.fuss-content {
min-height:15rem;
margin: 0 auto;
padding:1rem 1rem 3rem 1rem ;
font-size:1.4rem;
}

/*  ----------------------------------------  */
/*  box #fuss   */
/*  ----------------------------------------  */

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

#fuss .box {display:block;
padding:1rem 1rem 1rem 1rem ;
text-align:center;
margin:0 auto;
box-shadow:none;
}

#fuss .box-1_of_2 {width:100%;width:28rem;}

#fuss h3 {
font-size:1.5rem;
line-height:1.8rem;
color:#fff;padding:1rem 0;
border-bottom:dotted 1px #fff;
margin:1rem 0;text-align:left;
}

#fuss h3:first-letter {
font-size:2rem;font-weight:bold;
color:gold;
}

#fuss ul {text-align:left;
padding:0rem;
margin:0;
}

#fuss  li {list-style:none;
padding:0rem;
margin:0;
}


/*  ----------------------------------------  */
/*  #fuss-menu  */
/*  ----------------------------------------  */

#fuss .menu {
margin:0 auto;
padding:0;
}

#fuss  .menu ul {
text-align:center;
margin:0;
padding:0;
}

#fuss  .menu li {list-style-type: none;
margin:0;
padding: .1rem  ;
}

#fuss  .menu li a {display:inline-block;
text-align:left;
vertical-align:middle;
text-decoration : none;
font-size:1.2rem;
line-height:1.4rem;
letter-spacing:0rem;
padding:0rem ;
margin:0rem 0;
color:#fff ;
}

#fuss  .menu li a:hover {
color:#fff;
background:transparent;
text-decoration:none;
}

#fuss  .menu  label {cursor:pointer; }

/* die font-icons  im fuss-menu */

#fuss  li  a:before {display:inline-block;
font-family:'Font Awesome 5 Free';/* - 'Font Awesome 5 Free' for Regular and Solid symbols;
                                     - 'Font Awesome 5 Brands' for Brands symbols. */
font-weight: 400;/*  Weight of the font (mandatory)
                     - 400 for Regular and Brands symbols;
                     - 900 for Solid symbols. */
content:"\f192";
text-decoration: none;
margin-right:1rem;
color:lightskyblue;
font-size:1.1rem;
width:1rem;
}

#fuss  li  a:hover:before {
color:white;
content:"\f30b";
font-weight: 900;/* Weight of the font (by fontawesome)- use:
               - 400 for Regular and Brands symbols;
               - 900 for Solid symbols. */
}



/* ############################################################ */
/* M E D I A   Q U E R I E S - RESPONSIVE-BILDSCHIRMABFRAGEN */
/* ############################################################ */

/* ==================================== ab 320 pixel ================================== */


/* - - - - -  nur info - - - - - */
/*  für die kleinste smartphone-auflösung von 320pixel benötigen wir KEINE bildschirmabragen (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) {

#kontakt .box-tabcell {padding:2rem ; }

}


/* ==================================== ab 400 pixel ================================== */

@media (min-width: 400px) {

/* keine angabe */

}


/* ==================================== ab 480 pixel ================================== */

@media (min-width: 480px) {

#name  {font-size:3rem;line-height:3.2rem;
width:40rem;
height:22rem;
margin-top:-11rem;
margin-left:-20rem;
}

#name .inhalt {
width:60rem;
height:26rem;
}

.content {padding:10vh 10vw; }

}


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

/* - - - - -   GRID-SYSTEM #1   - - - - - */
.box-1_of_1 {width: 50%; }
.box-1_of_2 {width: 50%; }
.box-1_of_3 {width: 33.33%;  }
.box-1_of_4 {width: 50%; }

.slidebox .box-1_of_1 ,
.slidebox .box-1_of_2,
.slidebox .box-1_of_3,
.slidebox .box-1_of_4 {width: 25%; }

#leistungen .box-1_of_2 {width: 50%; }
#about .box-1_of_3 {width: 50%; }
/* - - - - - ende  GRID-SYSTEM #1 - - - - - */

#fuss .box {display:inline-block;
vertical-align:top;
padding:0 2rem;
margin:0 -.25rem 0rem -.25rem ;/* ausgleich ( minus-margin) für INLINE-BLOCK-WHITESPACE-BUG */
box-shadow:none;
}

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

}


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

html {font-size:70%;}

.logo-content {height:38rem;  }

/* - - - - -   GRID-SYSTEM #1  - - - - - */
.box-1_of_2 {width: 50%;  }
.box-1_of_3 {width: 33.33%;  }
/* - - - - - ende  GRID-SYSTEM #1  - - - - - */

}


/* ===================================== ab 800 pixel ================================= */

@media (min-width: 800px) {

/* - - - - -  GRID-SYSTEM #2 - mit display:table/table-cell - - - - - */
#kontakt.wrapper-box-table {border-spacing:0rem 0rem; font-size:1.3rem }
#kontakt .box-tabcell  {display:table-cell;height:20rem;width: 50%; }
/* - - - - - ende  GRID-SYSTEM #2  - - - - - */

}


/* ===================================== ab 960 pixel ================================= */

@media (min-width: 960px) {

/* vertikaler höhenausgleich wegen menue-leiste*/
#name {
margin-top:-10rem;
}


/* - - - - -  GRID-SYSTEM #1   - - - - - */
.box-1_of_4 {width: 25%;  }
.box-1_of_5 {width: 20%;  }
#about .box-1_of_3 {width: 33.33%; }
#leistungen .box-1_of_2 {width: 100%; }
/* - - - - - ende  GRID-SYSTEM #1  - - - - - */

/* - - - - - GRID-SYSTEM #2 - - - - - */
#leistungen.wrapper-box-table {border-spacing:0rem 0rem; font-size:1.4rem; }
#leistungen .box-tabcell  {display:table-cell;height:20rem;width: 33.33%;padding:0rem 0rem }
/* - - - - - ende  GRID-SYSTEM #2 - - - - - */

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

}


/* ===================================== ab 1024 pixel ================================= */

@media (min-width: 1024px) {

/* keine angabe */

}


/* ===================================== ab 1100 pixel ================================= */

@media (min-width: 1100px) {

html { font-size:75%; }

pre {width:50vw; }


}


/* ===================================== ab 1200 pixel ================================= */

@media (min-width: 1200px) {

#kontakt.wrapper-box-table {font-size:1.6rem; }

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


}


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

@media (min-width: 1500px) {

.content {padding:10vh 10vw; }


}


/*  +  +  +  +  + +  +  +  +  +  C O D E ENDE  +  +  +  +  +  +  +  +  +  +  */