

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


/* überschriften */

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

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


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

/* allgemeine links  */
/* 1.weiter unten für den inhaltsbereich definiert mit nth-child(n) für die verschieden farbigen abschnitte */
/* 2. sowie in der datei boxfenster.css um bei der hintergrundfarbe im boxfenster flexibel zu bleiben  */



/* ----- 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 #7f7f7f;
background:transparent;
}

pre b {
color:orange;
}


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


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

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


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

.button  {display:block;
margin:4rem 0 2rem 0;
text-align:left;
}

.button span.mehr_lesen a {display:inline-block;
background:#000;
color:#EFEFEF;
text-decoration:none;
padding:.3rem 1.5rem .3rem 1rem;
border-radius:0;
border:solid 1px rgba(0,0,0,.1);
transition:all  .3s ease-out;
cursor:pointer;
}

.button span.mehr_lesen a:hover {color:#fff;
background:orange;
}


/*  icon beim MEHR LESEN-BUTTON */

.button span.mehr_lesen 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: 900;/*  Weight of the font (mandatory)
                     - 400 for Regular and Brands symbols;
                     - 900 for Solid symbols. */
content:"\f054" ;
transform:scale(.6);
color:orange;
padding: 0 .5rem 0 0;
margin:0;
}

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


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

/* ----- 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; /* ausgleich ( minus-margin) für INLINE-BLOCK-WHITESPACE-BUG*/background:xxred
}

.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 .box ,
#gallery .box {padding:.4rem; }

.bilder .box-1_of_1 ,
.bilder .box-1_of_2 ,
.bilder .box-1_of_3,
.bilder .box-1_of_4,
.bilder .box-1_of_5 {width:100%; }
.bilder .box-1_of_4b  {width: 50%; }
#gallery .bilder .box-1_of_2 {width:50%; }
#gallery .bilder .box-1_of_4 {width:50%; }


/*  bei Mausberührung der Bilder, wenn diese verlinkt sind (z.B Lightbox) */
a:hover img {opacity:.8;  filter: contrast(200%);box-shadow:0 2px 5px black; }


/*  ---------- boxen - andere ---------- */
#start box-1_of_2 ,
#about box-1_of_2 ,
#fotos box-1_of_2 ,
#technik box-1_of_2 ,
#leistungen .box-1_of_3 ,
#kontakt box-1_of_2 ,
#last box-1_of_2 {width:100%; }

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



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

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

.logo-a {display:table;
POSITION:relative;
width:100%;height:100vh;
text-align:center;
padding:2rem .3rem 0 .3rem;
background:linear-gradient(to right top,#1f1f1f,orange,rgba(0,0,0,.5),steelblue,rgba(0,0,0,.5), firebrick, rgba(0,0,0,.5), orangered,#1f1f1f);
}

.logo-back {position:absolute;
top:0%; left:0%;
height:100vh;
width:100vw;
display:table-cell;
vertical-align:middle;
}


/* homepagename  */

#name  {
width:100%;
display:table-cell;
text-align:center;vertical-align:middle;
color:gold;text-shadow:2px 2px 4px rgba(0,0,0,.3);
font-weight:bold;
font-size:2.2rem;
line-height:2.3rem;
padding:2rem;
margin:0;
}

#name span {display:block;
font-weight:bold;
color:white;
letter-spacing:3px;
font-size:1.6rem;
line-height:2rem;
padding:1rem 1rem;
}

/* icons  */

.logo i {display:block;
font-size:6rem;
color:white ;
text-align:center;
margin:0 auto;;
}



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

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

.inhalt-a {display:block;
width:100%;
margin:0 auto;
padding:4rem 3rem 4rem 3rem;
}

.inhalt-a .box  {vertical-align:middle; }

.inhalt-a p {margin-bottom:3rem }

.number {display:inline-block;
text-align:center;
color:white;
background:orangered;
margin:0;
padding:.7rem;
POSITION:absolute;
top:0;left:0rem;
}

/* icons  */

.icon i {display:block;
font-size:16rem;
color:orange;
text-align:center;
}


/*  ----------------------------------------  */
/* abschnitt allgemein */
/*  ----------------------------------------  */

.section-inhalt {display:block;
width:100%;
margin:0;
POSITION:relative;
}


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

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

.section-inhalt:nth-child(odd) h1 ,
.section-inhalt:nth-child(odd) h2 {
color:#000;font-weight:bold;
}

.section-inhalt:nth-child(odd) h2 span {
color:orange;
text-transform:uppercase;
}

.section-inhalt:nth-child(odd) p {font-weight:bold; }


/*  bei verlinkungen */
.section-inhalt:nth-child(odd) a {color:#DC8003; }
.section-inhalt:nth-child(odd) a:hover {color:black; }


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


.section-inhalt:nth-child(even) {
background:#1f1f1f;
color:#DFDFDF;
}

.section-inhalt:nth-child(even) h1 ,
.section-inhalt:nth-child(even) h2  {
color:#fff;
font-weight:bold;
}

.section-inhalt:nth-child(even) h2 span {
color:orange;text-transform:uppercase;
}

.section-inhalt:nth-child(even) p {
font-weight:bold;color:white;
}

/*  bei verlinkungen */
.section-inhalt:nth-child(even) a {color:orange; }
.section-inhalt:nth-child(even) a:hover {color:gold; }


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

#leistungen .box {text-align:center;margin-bottom:1rem;}

#leistungen .box h3 {text-align:center;font-size:1.5rem;}

/* icons  */

#leistungen .box i {display:inline-block;
background:lightcyan;
text-align:center;
margin:0 auto;
width:10rem;
height:10rem;
line-height:10rem;
font-size:5rem;border-radius:50px/200px;
}

#leistungen .box:nth-child(1) i {
background:maroon;
color:orange;
}

#leistungen .box:nth-child(2) i {
background:linear-gradient(to right top, gray 50%,lightgray 50%);
color:black;
}

#leistungen .box:nth-child(3) i {
background:linear-gradient(to bottom, orange 50%, #000 50%);
color:#fff;
}
#leistungen .box:nth-child(4) i {
background:linear-gradient(to right, black 50%, #3f3f3f 50%);
color:orange;
}

#leistungen .box:nth-child(5) i {
background:orange;
color:white;
}


#leistungen .box:nth-child(6) i {
background:radial-gradient(circle at 50% , gold 50%, darkorange 50%);
color:#000;
}

/*  icons im boxfenster #leistungen.more */


#leistungen.more .box:nth-child(1) i {
background:black;
color:#fff;
}

#leistungen.more .box:nth-child(2) i {
background:white;
color:#000;
}

#leistungen.more .box:nth-child(3) i {
background:dodgerblue;
color:powderblue;
}

#leistungen.more .box:nth-child(4) i {
background:green;
color:mediumspringgreen;
}

#leistungen.more .box:nth-child(5) i {
background:maroon;
color:darkorange;
}

#leistungen.more .box:nth-child(6) i {
background:darkslategray;
color:slategray;
}

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

#kontakt .box {vertical-align:top;font-size:1.4rem;padding:0rem;
margin-bottom:1rem;
}



/* icons */

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


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

#kontakt  b.day {display:inline-block;width:7rem;font-weight:normal;padding-left:2rem; }



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

footer {background:#1f1f1f;
margin:0 auto;
padding:0rem ;
}

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

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

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

#fuss .box h3 {
text-align:left;
font-size:1.5rem;
color:#fff;
letter-spacing:1px;
font-weight:bold;
text-transform:uppercase;
padding-bottom:.5rem;
margin-top: 0rem;
margin-bottom:.5rem;
border-bottom:solid 1px #4f4f4f;
}

#fuss .box h3:first-letter {
color:gold;
}


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

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

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

.fussmenu li i,
.fussmenu li a i {color:yellow;
transition:all .9s ease-out ;
font-size:1.3rem;
margin-right:1rem;
}

.fussmenu li a:hover i {color:#fff;transform: rotateY(360deg); }
#fuss label {cursor:pointer; }


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

#fuss ,
#fuss  a {
color:#DFDFDF;
font-weight:normal;
font-size:1.5rem;
line-height:3rem;
}

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



/* ############################################################ */
/* 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) {

/* keine angabe */

}


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

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

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

}


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

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

}


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

#name   {padding:0vh 10vw; }

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

}


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

html {font-size:80%; }

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

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


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

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

}


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

#name   {font-size:4.2rem; line-height:4.4rem;padding:0vh 15vw; }

.bilder .box-1_of_4 {width: 25%;  }
#start .box-1_of_2.a-1 {width: 75%; }
#start .box-1_of_2.a-2 {width: 25%; }
#about .box-1_of_2.a-1 {width: 75%; }
#about .box-1_of_2.a-2 {width: 25%; }
#fotos .box-1_of_2.a-1 {width: 75%; }
#fotos .box-1_of_2.a-2 {width: 25%; }
#technik .box-1_of_2.a-1 {width: 75%; }
#technik .box-1_of_2.a-2 {width: 25%; }
#leistungen .box-1_of_2 {width: 50%; }
#kontakt .box-1_of_2 {width: 50%; }
#last .box-1_of_2.a-1 {width: 75%; }
#last .box-1_of_2.a-2 {width: 25%; }


/* ausblenden der abschnitts-zahlen */
.number {display:none; }

}


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

/* keine angabe */

}


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

pre {width:50vw; }

}


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

html {font-size:78%;}

.inhalt-a  {padding:4rem 10rem 6rem 10rem; }

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

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

}


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

.inhalt-a  {padding:4rem 12vw 6rem 12vw; }

}


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