

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


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

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

h2 {
font-size:2.7rem;
line-height: 3.5rem;
margin-top: 1rem;
margin-bottom: 3.5rem;
letter-spacing: -.1rem;
}

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

/* ----- h2 und h3 extra ----- */

h2.extra {
margin-top: 0rem;
margin-bottom: 2.5rem;
letter-spacing:1px;
}

h3.extra {color:#a22850;
font-size:1.8rem;
line-height: 2.6rem;
margin-bottom:1.5rem;
letter-spacing:.1rem;
}


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


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

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

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


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

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



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

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

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

.button .mehr_lesen a {display:inline-block;
text-transform:uppercase;
font-size:1.5rem;
letter-spacing:2px;
color:#fff;
background:#a22850;
border-radius:.3rem;
text-decoration:none;
padding:.5rem 3rem ;
cursor:pointer;
}

.button .mehr_lesen a:hover {color:#fff;
background:#3f3f3f;
}



/*  ----------------------------------------  */
/* 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;
padding:1rem 1rem 1rem 1.5rem; /* rückt gfls zweite zeile ein */
border-bottom:1px solid #E1E0E1;
}


/* ----- style 2 -  bei vorangestelltem icon (fontawesome) ----- */

.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:1rem 1rem 1rem 1.5rem; /* rückt gfls zweite zeile ein */
border-bottom:1px solid #E1E0E1;
}

.liste-spez-2  i {transform:scale(.9);padding-right:.8rem;color:#5f5f5f; }
.liste-spez-2 li a:hover i {color:goldenrod; }


/*  ----------------------------------------  */
/* attention-object */
/*  ----------------------------------------  */

.attention-object {display:block;
text-align:center;
color:#fff;
padding:0 0rem;
}

.attention {display:block;color:#fff;}

/* icon */
.attention.icon {margin:0;color:#A22850;font-size:9rem;padding: 0 ;text-shadow:2px 2px 60px white; }

/* name */
.attention.name {
font-size:4rem;
line-height: 5rem;
letter-spacing:2px;
margin:-1rem 0 0 0 ;
}

/* text */
.attention.text {color:#fff;font-size:1.5rem;margin:0 0 1rem 0;letter-spacing:1px; }


/*  ----------------------------------------  */
/* tabellarische liste - table-list */
/*  ----------------------------------------  */

.table-list {width:100%; }

th,
td {text-align:left;padding: 1rem 1.2rem;
border-bottom:1px solid #E1E0E1; }

th:first-child,
td:first-child {padding-left:0; }

th:last-child,
td:last-child {padding-right:0; }


/*  ----------------------------------------  */
/* formular */
/*  ----------------------------------------  */

form#form-by-onmouseover {width:100%; }

#form-by-onmouseover .box {padding:.4rem 0; }

#form-by-onmouseover input[type="email"],
#form-by-onmouseover input[type="number"],
#form-by-onmouseover input[type="search"],
#form-by-onmouseover input[type="text"],
#form-by-onmouseover input[type="tel"],
#form-by-onmouseover input[type="url"],
#form-by-onmouseover input[type="password"],
#form-by-onmouseover textarea,
#form-by-onmouseover select {width:100%;
height: 3rem;
padding: .2rem .5rem;
background:#fff;
border:solid 1px #cfcfcf;
border-radius: .5rem;
}

/* nachrichten-feld (textarea) */

#form-by-onmouseover textarea {
min-height: 10rem;
padding:1rem }


/* absende-button (submit) */

#form-by-onmouseover input[type="submit"] {display: block;
height: 3rem;
font-size:1.2rem;
letter-spacing:2px;
text-transform:uppercase;
margin:1rem 0;
padding: 0 4rem;
background:#1f1f1f;
color: #efefef;
border-radius: .5rem;
border:0;
cursor:pointer;
}

/* absende-button (submit) hover */

#form-by-onmouseover input[type="submit"]:hover {
background:#a22850;
}


/* focus */

#form-by-onmouseover input[type="email"]:focus,
#form-by-onmouseover input[type="number"]:focus,
#form-by-onmouseoverinput[type="search"]:focus,
#form-by-onmouseover input[type="text"]:focus,
#form-by-onmouseover input[type="tel"]:focus,
#form-by-onmouseover input[type="url"]:focus,
#form-by-onmouseover input[type="password"]:focus,
#form-by-onmouseover textarea:focus,
#form-by-onmouseover select:focus {
border: 1px solid limegreen;
outline: 0;
}




/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */
/*  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_3 {width:33.33%; }
#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: blur(2px)  }


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

#introduction .box-1_of_2 {width: 100%; }
#kontakt.box-1_of_2 {width: 100%;  }
#team-members .box-1_of_4  {width: 100%; }
#fuss .box-1_of_3 {width: 100%; }



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

header {
background-image:url(../images/picture18.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}


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

#logo {
display:table;
width:100%;
margin:0 auto;height:100vh;
padding:0rem;
background:linear-gradient(to right,rgba(0,0,0,.2), rgba(0,0,0,.4),rgba(0,0,0,.2));
}

.logo-a  {display:table-cell;vertical-align:middle; }

.logo-a-inhalt  {display:block;margin:0 auto;width:30rem; }


/* button  */

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

#logo .button .mehr_lesen a {
color:#000;
background:#fff;
}

#logo .button .mehr_lesen a:hover {background:#efefef;
color:#000;
}



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

main#inhalt {display:block;background:white;position:relative;
padding:0rem 0rem 0rem 0rem;
margin:0 auto;
}

.inhalt-a {display:block;
width:100%;
margin:0 auto;text-align:center;
padding:6rem 1.5rem 6rem 1.5rem;
}

/* telefonnummer  */
.telnumber  {display:inline-block;position:absolute;top:4rem;right:0;
width:auto;
background:#1f1f1f;
color:white;
letter-spacing:1px;
border-top-left-radius:2rem;
border-bottom-left-radius:2rem;
padding:.2rem 1rem .2rem 1rem;
text-align:right;
}

/*  ----------------------------------------  */
/*  introduction box */
/*  ----------------------------------------  */

#introduction {vertical-align:middle;background:xxlinear-gradient(to right bottom, oldlace 20%, white 20%) }

#introduction .box {vertical-align:middle; }

#introduction  .box-1_of_2:nth-child(2) {margin-top:3rem; } /* zweite box */

/*  schraege */
#introduction .diagonal-shape {margin:0 0 -4rem 0;
height: 0;
border-style: solid;
border-width: 5rem 100vw 0 0;
border-color: #a22850 transparent transparent transparent;
}


/*  ----------------------------------------  */
/*  about box */
/*  ----------------------------------------  */

#about  { background:#BEBEBE;
background-image:url(../images/picture04.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}

#about .box-1_of_1 {position:relative;
background:linear-gradient(to right top,#fff,rgba(255,255,255,.9),rgba(255,255,255,.8),rgba(255,255,255,.9), #fff);
color:#3f3f3f;
vertical-align:middle;
padding:3rem 3rem;
border-bottom:solid 5rem rgba(255,255,255,.3);
}

/* --- icons social media --- */

#about  .icon-group {position:absolute;
bottom:-1rem;right:2rem;
}

#about  .icon-group i {
color:#5f5f5f;
font-size:2.5rem;
padding:1rem 1rem;
text-shadow:0px 0px 15px rgba(0,0,0,.2);transition:all .4s ease-out;
}

#about  .icon-group i:hover {
color:#fff;
font-size:2.5rem;
padding:1rem 1rem;
transform:rotate(360deg);
}


/*  ----------------------------------------  */
/*  kontakt box */
/*  ----------------------------------------  */

#kontakt  { background:#F5F5F5; }

#kontakt .box {vertical-align:middle; }

#kontakt  .box-1_of_2:nth-child(1) {margin-bottom:4rem; } /* erste box */

#kontakt .addinfo i { color:#a22850; }


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

#information  {
background:#fff;
}

#information h3.extra ,
#information h2 {text-align:center;
}

#information-group {display:block;margin:0 auto;}


#information-group .box {POSITION:relative;
background:transparent;
margin:.5rem 0 5rem .5rem;
border-radius:0rem;
padding:.5rem .5rem 2rem .5rem  ;
text-align:center;
}

#information-group .box h3 {
margin: .5rem .5rem 1rem .5rem;
text-align:center;
letter-spacing: 0;
}

#information-group img  {border-radius:0;
padding:0 0 1rem 0 ;
}


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

#information-group  i {text-align:center;
display:inline-block;
font-size:8rem;
margin:0 0 1rem 0;
color:white;
background:transparent;
border-radius:36rem;
font-style:normal;
text-shadow:0 0  1px rgba(0,0,0,.9);
}


/* icons - weiter-pfeil */

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

#information-group span i  {text-align:center;
display:block;
font-size:1.5rem;
width:3rem;height:3rem;
line-height:3rem;
color:#CFCFCF;
background:transparent;
text-shadow:none;
box-shadow:0 0 0px 1px #CFCFCF;
border-radius:36rem;
font-style:normal;
cursor:pointer;
transition:all .4s ease-out;
}

#information-group span i:hover  {background:#1f1f1f;
color:white;
}


/*  ----------------------------------------  */
/*  team box */
/*  ----------------------------------------  */

#team { background:#F8F8F8; }

#team .box {vertical-align:middle; }

#team .box-1_of_2:nth-child(1) {margin-bottom:4rem; }


/*  schraege */
#team .diagonal-shape {
height: 0;
border-style: solid;
border-width: 5rem 100vw 0 0;
border-color: transparent #1f1f1f transparent transparent
}
/* - - - team-members mit icons - - - */

#team-members .box { padding:.4rem }

#team-members img  {border-radius:0; }

#team-members h4  {
color:#efefef;
text-transform:uppercase;
text-align:center;
font-weight:normal;
margin-bottom:.5rem;margin-top:0rem;
padding:0rem;
font-size:1.6rem;
}

#team-members article  {width:100%;
background:#1f1f1f;
padding: 2rem 0;
text-align:center;
}

#team-members  article i {
display: inline-block;
padding:.5rem .5rem;
text-align:center;
margin:0 auto;
font-size:1.8rem;
color:#fff;
transition:all .4s ease-out;
}

#team-members  article i:hover {
color:palevioletred;
}

/* - - - jede zweite box - - - */

#team-members .box:nth-child(even) article  {background:#fff; }

#team-members .box:nth-child(even) article i {color:#3f3f3f ;}
#team-members .box:nth-child(even) article i:hover {color:#afafaf;}

#team-members .box:nth-child(even) h4 {color:#5f5f5f; }



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

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

}

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

.fuss-a {display:block;
margin: 0 auto;
padding:2rem 1.5rem;
border-top-left-radius:2rem;
border-top-right-radius:2rem;
}

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

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

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


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

#fuss ,
#fuss a {
color:#BEBDBE;
text-shadow:none;
font-weight:normal;
font-size:1.6rem;
line-height:2.8rem;
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 }


/* icons */
.fussmenu.social li  {display:inline-block; }
.fussmenu li a i {display:inline-block;margin-right:1.5rem;margin-top:1.2rem; transition:all .3s }
.fussmenu li a:hover i {color:#fff;transform:rotate(360deg) }

.name-fuss  {display:block;
font-size:1.8rem;
margin:0rem 0 0.5rem 0;
}


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

.logo-a-inhalt  {width:38rem; }

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

#information-group .box {padding:2rem 2rem 3rem 2rem ; }

}


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

.logo-a  {width: 94%; }
.inhalt-a  {width: 94%; }
.fuss-a  {width:94%; }

.bilder .box-1_of_2  {width: 50%; }
#team-members .box-1_of_4  {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 {height:50vh; }

.inhalt-a  {width: 760px; }

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

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

#introduction .box-1_of_2:nth-child(1) {width:70%; } /* erste box */
#introduction .box-1_of_2:nth-child(2) {width:30%; margin-top:0rem; } /* zweite box */

#team .box-1_of_2:nth-child(1) {width:30%; margin-bottom:0rem; } /* erste box */
#team .box-1_of_2:nth-child(2) {width:70%; } /* zweite box */

}


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

/* keine angabe */

}


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

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

#introduction .box-1_of_2:nth-child(1) {padding-right:4rem; } /* erste box */

#team .box-1_of_2:nth-child(2) {padding-left:4rem; } /* zweite box */
#team-members h4  {font-size:1.4rem; }
#team-members .box-1_of_4  {width: 25%; }

#information-group {display:table;width:100%; border-spacing:1rem 1rem; table-layout:fixed;  }
#information-group .box {display:table-cell;font-size:1.4rem;     }
#information-group h3 {font-size:1.6rem; }
#information-group .box {padding:1rem 0rem 3rem 1rem ; }

#kontakt .box-1_of_2 {width: 50%; }
#kontakt .box-1_of_2:nth-child(1) {margin-bottom:0rem; } /* erste box */
#kontakt .box-1_of_2:nth-child(2) {padding-left:4rem; } /* zweite box */

#form-by-onmouseover {font-size:1.5rem; }

.bilder .box-1_of_4  {width: 25%; }
#gallery .bilder .box-1_of_4  {width: 25%; }
#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) {

.logo-a  {width: 80%; }
.inhalt-a  {width: 80%; }
.fuss-a  {width:80%; }

}


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

html {font-size:85%; }

}


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

.logo-a  {width: 1600px; }
.inhalt-a  {width: 1600px; }
.fuss-a  {width:1600px; }

}