

/* = = = = = = = = = = = = = = = = = 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.8rem;
margin: 0 auto;
overflow-x:hidden;
color:#E1E3EA;
background:#3C4451; /* für eine einfache hintergrundfarbe */
background:linear-gradient(to right, #3C4451 ,#51596F ,#3C4451,#51596F); /* für einen hintergrund-farbverlauf */
}


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

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


/* linie links und. rechts vom header-icon - nur für die startseite index.html */

h1.header-line {font-size:4rem;
color:gold;
text-align: center;
display: table;
border-collapse: collapse;
white-space: nowrap;padding:4rem 0;
margin:0rem 0rem 0rem 0rem;text-shadow:1px 1px 2px rgba(0,0,0,.5);background:xred
}

h1.header-line::before, h1.header-line::after {
content: "";
display: table-cell;
width: 50%;
background-image: linear-gradient(to right, gold 50%, transparent 50%);
background-position: 0 50%;
background-repeat: repeat-x;
background-size: 2px 1px;
}

h1.header-line::before {border-right: .5em solid transparent; }
h1.header-line::after {border-left: .5em solid transparent; }

/*  ende linie header-icon */


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

/* h2 extra - nur für die startseite index.html */
h2.extra {text-align:center;;margin:-1rem 0 2rem 0; }


h3 {
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 silver;
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:#E1E3EA;
text-decoration: underline;
cursor:pointer;
}

a:hover {color:#E1E3EA;
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:left;
}

.button .mehr_lesen a {display:inline-block;position: relative;
text-transform:uppercase;
font-size:1.5rem;
letter-spacing:1px;
color:#fff;
background:rgba(255,255,255,.1);
border-radius:36rem;box-shadow:0 0  2px white;
text-decoration:none;
padding:.4rem 3rem ;
transition:all  .3s ease-out;
cursor:pointer;
overflow:hidden;
transition: 1s all ease;
}


/* 2te ebene unsichtbar (width:0%), die erst bei hover (width: 100%) erscheint */

.button .mehr_lesen a::before{position: absolute;z-index: -1;
background: tomato; width: 0%;
height: 100%;
content: "";
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
transition: all 0.6s ease;
}

.button .mehr_lesen a:hover::before {width: 100%; }



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

.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 2rem;
}

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


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

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

.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.4rem; /* rückt gfls zweite zeile ein */
padding-left:1.5rem; /* rückt gfls zweite zeile ein */
}

/* bei vorangestelltem icon (fontawesome) */
.liste-spez-2  i {transform:scale(.7);padding-right:.8rem;color:lightskyblue; }
.liste-spez-2 li a:hover i {color:gainsboro; }




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

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

.box {display:inline-block;
text-align:left;
vertical-align:top;
width:100%;
padding: 1rem 1.5rem;
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%; }


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


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

#introduction .box-1_of_2 {width: 100%; }
#service .box-1_of_2 {width: 100%; }
#presentation {width:100%;}
#about .box-1_of_2 {width: 100%;  }
#information .box-1_of_2 {width: 100%; }
#last .box-1_of_2 {width: 100%; }
#fuss .box-1_of_3 {width: 100%; }



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

header {background:transparent; }


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

#top {display:table;width:100%;
padding:0rem;margin:0 auto;background:transparent;
}

.top-a {display:table-cell;vertical-align:middle;
width:auto;
text-align:left;
padding:1rem 0.5rem 1rem 2rem;
}


/* homepagename  */

.name {
display:block;
color:#DADDE4;
width:auto;
font-weight:normal;
padding:1.5rem 0;
font-size:2.5rem;
line-height: 2.8rem;
}



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

#logo {
display:table;border-spacing:0rem 0rem;
width:100%;
margin:0 auto;
padding:0rem 0 0 0;
background:#51596F;
box-shadow:0 0 120px rgba(0,0,0,.4);
}

.logo-a  {display:block;
background:transparent;
padding:3rem 2rem;
}

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

/* fotos auf den unterseiten */
.logo-b.primus-pic  {background-image:url(../images/picture02.jpg); }
.logo-b.secundus-pic  {background-image:url(../images/picture07.jpg); }
.logo-b.tertius-pic  {background-image:url(../images/picture04.jpg); }
.logo-b.quartus-pic  {background-image:url(../images/picture16.jpg); }
.logo-b.quintus-pic  {background-image:url(../images/picture08.jpg); }
.logo-b.sextus-pic  {background-image:url(../images/picture12.jpg); }
.logo-b.septus-pic  {background-image:url(../images/picture10.jpg); }


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

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

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


/*  ----------------------------------------  */
/* box service */
/*  ----------------------------------------  */

#service h3 {
margin-top: 1rem;
margin-bottom:1rem;
}


/* icon vorangestellt mit ::before */

#service article  {display:table;}

#service article:before {display:table-cell; /* platziert icon über den text */
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:"\f00c";
text-align:left;
font-size:2rem;
width:x2rem;
padding:0 0rem 0 0;
color:skyblue;
position:relative;left:-1rem;top:0.2rem
}

/* foto-box anpassung */
#service img {border-radius:0.8rem; }


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

#presentation-inhalt .box  {display:inline-block;
margin:0;
margin-bottom:3rem;
padding:0rem ;
border-radius:0.8rem;
}

/* ausnahme letzte box  */
#presentation-inhalt .box:last-child  {
margin-bottom:0rem;
}

#presentation-inhalt h3 {
margin-top: 2rem;
margin-bottom:1rem;
}


/* fotoanpassung */
#presentation  img {border-radius:0.8rem; }


/* spezielle button-platzierung mit position */

#presentation-inhalt .button-position .button  {
POSITION:static; /* keine auswirkungen  */
}

#presentation-inhalt .button .mehr_lesen a {
background:tomato;color:white;
padding:.1rem 1rem ;
box-shadow:none;
border-radius:.4rem;
}

#presentation-inhalt .button .mehr_lesen a:hover {
background:skyblue;color:#000;
}



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

footer {
margin:0 auto;
padding:0rem ;
}

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

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


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

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


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

#fuss ,
#fuss a {
color:#E0E2E9;
text-shadow:none;
font-weight:normal;
font-size:1.6rem;
line-height:2.5rem;
text-decoration:none;
}

.fussmenu  ul {text-align:left;list-style: none;padding: 0;margin: 0; }
.fussmenu li { display:block;padding:0 .1rem }
#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%; }

#top  {width:90%; }
.inhalt-a  {width: 90%;  }
#logo  {width: 90%}
.fuss-a  {width:90%; }


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

}


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

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

}


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

#logo {display:table;
border-spacing:0rem 0rem;
table-layout:fixed;
padding:0rem 0rem;
}

.logo-a  {display:table-cell;vertical-align:middle;
padding:0rem 1rem 0 2rem;text-align:left; }

.logo-b  {display:table-cell;vertical-align:middle;
padding:0rem;text-align:right;}

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

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

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

}


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

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

#service .box-1_of_2 {width:50%;padding:0 2rem; }

/* display table/table-cell stellt die boxen auch bei untersch. langem inhalt immer auf die gleiche abschliessende höhe */
#presentation-inhalt {display:table;width: 100%;border-spacing:2rem 2rem;table-layout:fixed; }
#presentation-inhalt .box {display:table-cell;font-size:1.5rem;padding:0 0 3rem 0; }

/* spezielle button-platzierung mit position */
#presentation .button-position .button  {
POSITION:absolute;
bottom:-3rem;left:0rem;
}

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

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

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

}


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

pre {width:70%; }

}


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

#top  {width: 75%; }
.inhalt-a  {width: 75%;  }
#logo  {width: 75%}
.fuss-a  {width:75%; }

}


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

html {font-size:85%; }

}