

/* = = = = = = = = = = = = = = = = = 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 {
font-size:1.7rem;
margin: 0 auto;
}



/* überschriften */

h1, h2, h3, h4, h5 {
color:#000;
text-align:left;
letter-spacing:0px;
font-weight:normal;
text-transform:none;
}

h1 {
font-size:3.5rem;
line-height: 3.7rem;
margin-top: 0rem;
margin-bottom: 4.2rem;
}

h2 {text-align:left;
font-size:2.4rem;
line-height: 3rem;
margin-top: 0rem;
margin-bottom: 3.5rem;
}

h2:after {text-align:left;
border-top: 6px solid #4684B7;
display: block;
width: 60px;
content: "";
margin: 8px 0 ;
}

h3 {
font-size:2rem;
line-height: 2.8rem;
margin-top: 2.1rem;
margin-bottom:1.4rem;
letter-spacing:0rem;
}

/* allgemeine links  */

a {background-color:transparent;
color:#000 ;
text-decoration: underline;
}

a:hover  {color:#000;
text-decoration:none;
}

/* quelltext-erklärungen - wenn vorhanden */
pre {white-space:pre-wrap;position:relative;
font-size:1.5rem;
padding:0rem 1rem 2rem 1rem;
margin:1rem auto;
text-align:center;
background:#598383;
color:#DDE6E6;
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:#fff;font-weight:bold;
transform:rotate(-45deg);
}



/* ############################################################ */
/*  speziell*/
/* ############################################################ */

.container_haupt {
margin:0 auto;
padding:0;
width:100%;background:#fff;
}

/* 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;
}


/* linie  */
hr.line {background: #7f7f7f;
border: none;
color: #7f7f7f;
height: 1px;
width: 100%;
margin-top:3rem;
margin-bottom:3rem
}


/*   WEITER-BUTTON mit ICON */

.btn   {display:block;
margin:1.5rem 0 1rem 0;
text-align:center;
}

.btn span.weiter  {display:inline-block;width:auto;
color:#000;
background:#fff;
text-decoration:none;
padding:.2rem 1.8rem .2rem 1.2rem;
border-radius:0rem;
cursor:pointer;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1),
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:#1f1f1f;
text-decoration:none;box-shadow:0px 0px 2px #000;
}

.btn .weiter:before {display:inline-block;
font-family:'Font Awesome 5 Free';/* - 'Font Awesome 5 Free' for Regular and Solid symbols;
                                     - 'Font Awesome 5 Brand' for Brands symbols. */
font-weight: 400;/*  Weight of the font (mandatory)
                     - 400 for Regular and Brands symbols;
                     - 900 for Solid symbols. */
content:"\f35a";
font-style: normal;
font-variant-caps: normal;
font-variant-ligatures: normal;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
text-decoration: none;
color:#000;
padding:.2rem 0;
margin:0 .6rem 0em .4rem;
transition:transform .3s ease-out;
}

.btn .weiter:hover:before {
transform:  rotate(360deg);
color:#fff;
}


/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */
/*  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 0 -.2rem ;/* 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 ,
#team .box-1_of_4,
.box-1_of_5 ,
.box-1_of_6
{width:100%;
}

#team .box-1_of_4
{margin-bottom:2rem;
}

.wrapper-box .box img,
.wrapper-box .box a img {display:block;
width: 100%;
height: auto;
}


/* ############################################################ */
/* bereich logo */
/* ############################################################ */

.section-logo {position:relative;
width:100%;
margin:0;
padding:0;
background-image:url(../images/logo05.jpg);
background-position:50% 50%;
background-repeat:no-repeat;
background-size:cover;overflow:hidden;
}

.logo-content {
width:100%;
margin:0 auto;
}

#logo .wrapper-box-table {
display:table;
width:100%;
height:100vh;
padding:0;
background:transparent;
}

#logo .box-tabcell-1a {
display:table-cell;
padding:0;text-align:center;
}

/* name */

.name-wrapper {display:table;
width:100vw;height:100%;
background:#FFB300; /* IE9 */
background:rgba(68,83,85,.7);
margin:0 auto;
box-shadow: 0 -5px 5px rgba(0,0,0,0.5);
}

.name {display:table-cell;
vertical-align:middle;text-align:center;
color:#fff;
font-size:2.2rem;
line-height:2.4rem;
padding:2rem 1rem 1rem 1rem;
text-transform:uppercase;
}

.name b {
font-weight:normal;
letter-spacing:2px;
font-size:1.4rem;
}

/* ---- icons ----- */

#logo ul {position:relative;
padding:0rem;
margin:0;text-align:center;
}

#logo  li {list-style:none;
padding:0rem;
margin:0;display:inline;
}

#logo i  {display:inline-block;
text-align:center;
margin:-.18rem  .8rem .4rem -.18rem;
padding: 0;
width:4.5rem;
height:4.5rem;
line-height:4.5rem;
font-size:2.4rem;
color:#fff;
translate:all .4s;
}

#logo i:hover  {transform:rotate(10deg) ;
}

/* -----unterseiten - index1,index2, index3 ----- */

#logo .wrapper-box-table#unterseite {height:20rem; }
#unterseite .name {background:rgba(68,83,85,.5); }


/* ############################################################ */
/* bereich content */
/* ############################################################ */

.section-content {display:table;
width:100%;
margin:0;
padding:0;
color:#000 ;
}

.content {
display:table-cell;
width:100%;
height:50vh;
margin: 0 auto;
padding:6rem 2rem;
text-align:left;
vertical-align:middle;
}


/*  ----------------------------------------  */
/*  NTH-CHILD - der erste abschnitt und alle weiteren abschnitte sofern nicht überschrieben durch weitere nth-child-angaben/abschnitte */
/*  ----------------------------------------  */


.section-content:nth-child(n+1) {
background:#fff;
color:#000;
}

.section-content:nth-child(n+1) h2 ,
.section-content:nth-child(n+1) h3 {
color:#000;
}

.section-content:nth-child(n+1) h2 span {
font-weight:bold;
}

.section-content:nth-child(n+1) h2:after  {
border-top: 4px solid #768a78 ;
}

/*  links */

.section-content:nth-child(n+1)  a  {text-decoration:underline;
white-space:nowrap;
color:#000;
}

.section-content:nth-child(n+1)  a:hover  {text-decoration: none;
color:#000;
}


/*  ----------------------------------------  */
/* NTH-CHILD - nur der ZWEITE abschnitt */
/*  ----------------------------------------  */

.section-content:nth-child(2) {
background-image:url(../images/logo03.jpg);
background-position:50% 50%;
background-repeat:no-repeat;
background-size:cover;
}

.section-content:nth-child(2) h2 ,
.section-content:nth-child(2) h3 {
color:#fff;
}

.section-content:nth-child(2) h2 span {
font-weight:bold;
}

.section-content:nth-child(2) h2:after  {
border-top: 4px solid #fff ;
}

/*  links */

.section-content:nth-child(2)  a  {text-decoration:underline;
white-space:nowrap;
color:#dfdfdf;
}

.section-content:nth-child(2)  a:hover  {text-decoration: none;
color:#dfdfdf;
}


/*  ----------------------------------------  */
/*  NTH-CHILD - nur der VIERTE abschnitt */
/*  ----------------------------------------  */

.section-content:nth-child(4) {
background:#fff;
color:#DFDFDF;
background-image:url(../images/logo08.jpg);
background-position:50% 50%;
background-repeat:no-repeat;
background-size:cover;
}

.section-content:nth-child(4) h2 ,
.section-content:nth-child(4) h3 {
color:#fff;
}

.section-content:nth-child(4) h2 span {
font-weight:bold;
}

.section-content:nth-child(4) h2:after  {
border-top: 4px solid #fff ;
}

/*  links */

.section-content:nth-child(4)  a  {text-decoration:underline;
white-space:nowrap;
color:#dfdfdf;
}

.section-content:nth-child(4)  a:hover  {text-decoration: none;
color:#dfdfdf;
}



/*  ----------------------------------------  */
/*  NTH-CHILD - nur der SECHSTE abschnitt */
/*  ----------------------------------------  */

.section-content:nth-child(6) {
background:#000;
background-image:url(../images/logo01.jpg);
background-position:50% 50%;
background-repeat:no-repeat;
background-size:cover;
}




/*  ----------------------------------------  */
/*  box ABOUT                                 */
/*  ----------------------------------------  */


/* icons  */

#about i {display:block;
font-size:6rem;
color:#5A7878 ;
text-align:center;
margin:0 auto;
}


#about.wrapper-box-table {
display:table;
table-layout:fixed;
width:100%;
padding:0;
}

#about .box-tabcell {min-height:20rem;
display:inline-block;
background:#5d5d5d;
background:rgba(255,255,255,.5);
color:#000;
width: 100%;
padding:2rem ;
margin-bottom:2rem;
vertical-align:top;
text-align:center;
box-shadow: 0 4px 4px rgba(0,0,0,0.3);
border-radius:1rem;border-radius: 20px/90px;
}


/* tabellenzelle-reihe */
#about .tabrow {display:table-row; }

#about h3 {margin-top:1rem;margin-bottom:.5rem;
color:#000;
text-align:center;
text-transform:uppercase;
font-weight:bold;
}


/*  ----------------------------------------  */
/*  box TEAM                                */
/*  ----------------------------------------  */

/* ----- icons ----- */

#team ul {text-align:center;
padding:0rem;
margin:0;
}

#team  li {list-style:none;
padding:0rem;
margin:0;display:inline;
}


/* icons  */

#team i {display:inline-block;
background:#364747;
color:white ;
text-align:center;
margin:0 auto;margin:1rem  .2rem 1rem .2rem;
width:3rem;
height:3rem;
line-height:3rem;
font-size:1.8rem;
}


#team.wrapper-box-table {
display:table;
table-layout:fixed;
width:100%;
padding:0rem;
}

#team  .box-tabcell {min-height:20rem;
display:inline-block;
background:#5d5d5d;
background:rgba(255,255,255,.5);
color:#000;
width: 100%;
padding:2rem ;
margin-bottom:2rem;
vertical-align:top;
text-align:center;
box-shadow: 0 4px 4px rgba(0,0,0,0.3);
border-radius: 20px/90px;
}

/* tabellenzelle-reihe */
#team .tabrow {display:table-row; }


#team  h3 {margin-top:.5rem;margin-bottom:.5rem;
color:#fff;
text-align:center;
text-transform:uppercase;
font-weight:bold;
}

#team img.radius {border-radius:100% }



/*  ----------------------------------------  */
/*  box KONTAKT                               */
/*  ----------------------------------------  */


#kontakt ul {text-align:left;
padding:0rem;
margin:0;
}

#kontakt  li {list-style:none;
padding:0rem;
margin:0;
}

#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;
background:rgba(255,255,255,.5);
width: 100%;
padding:2rem 1rem ;
margin-bottom:2rem;
vertical-align:middle;
text-align:center;
box-shadow: 0 4px 4px rgba(0,0,0,0.3);
border-radius: 10px/90px;
}


/* tabellenzelle-reihe */
#kontakt .tabrow {display:table-row; }



/* ----- icons ----- */

#kontakt a  {color:#000;
text-decoration:none;
}

#kontakt a:hover  {
text-decoration:underline;
}

#kontakt i  {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:#000;border:solid 1px black;
}

.day  {display:inline-block;
width:7rem;
}

/*  ----------------------------------------  */
/*  box IMPRESSIONS                               */
/*  ----------------------------------------  */


#impressions.wrapper-box-table {
display:table;
table-layout:fixed;
width:100%;
padding:0rem;
}

#impressions  .box-tabcell {min-height:20rem;
display:inline-block;
background:#2f2f2f;
color:#CDDCDC;
width: 100%;
padding:2rem ;
vertical-align:top;
margin-bottom:1rem;
text-align:center;vertical-align:middle;
}

/* tabellenzelle-reihe */
#impressions .tabrow {display:table-row; }

/* text statt bilder in den boxen */
#impressions .box-tabcell .text {display:block;
padding:0 1rem;vertical-align:middle;
}

#impressions h3 {margin-top:0rem;margin-bottom:0rem;
text-align:center;
text-transform:uppercase;
font-weight:bold;color:#779999;
}

#impressions  i  {display:inline-block;font-size:2.4rem;
margin:0 1rem 1rem 1rem;
}

/* text statt bilder in den boxen */
#impressions  .back-01 {
background-image:url(../images/logo05.jpg);
background-position:50% 50%;
background-repeat:no-repeat;
background-size:cover;
}

#impressions  .back-02 {
background-image:url(../images/logo03.jpg);
background-position:50% 50%;
background-repeat:no-repeat;
background-size:cover;
}



/* ############################################################ */
/* bereich fuss */
/* ############################################################ */

.section-fuss {
width:100%;
background:#3C4747;
color:#fff;
}

.fuss-content {
text-align:center;
margin: 0rem auto;
padding:1rem 0 ;
}


/* -----menu  ----- */

#fuss ul {text-align:center;
padding:0rem;
margin:0;
}

#fuss  li {list-style:none;display:block;
padding:0rem .2rem;
margin:0;
}

#fuss li a {display:inline-block;
text-decoration : none;
font-size:1.4rem;
letter-spacing:0rem;
padding:0rem ;
margin: 0;
color:#fff;
}

#fuss li a:hover {background:transparent;
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) {

.name-wrapper {width:36rem; }

#kontakt .box-tabcell {padding:2rem ; }

}


/* ==================================== ab 400 pixel ================================== */

@media (min-width: 400px) {

/* keine angabe */

}


/* ==================================== ab 480 pixel ================================== */

@media (min-width: 480px) {

.content {padding:6rem 3rem; }

#team .box-1_of_4 {width:50%; }

}


/* ==================================== ab 580 pixel ================================== */
@media (min-width: 580px) {

#logo .wrapper-box-table {height:32rem; }

.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%; }
#gallery .box-1_of_3 {width: 50%; }

pre {width:80%; }

}


/* ==================================== ab 640 pixel ================================== */
@media (min-width: 640px) {

#logo .wrapper-box-table {height:100vh; }

}


/* ==================================== ab 768 pixel ================================== */
@media (min-width: 768px) {

html {font-size:70%;}

.content {padding:6rem 4.5rem; }

#logo .wrapper-box-table {height:38rem; }

.box-1_of_2 {width: 50%;  }
#team .box-1_of_4 {width:40%; }

#fuss  li {display:inline; }

}


/* ==================================== ab 800 pixel ================================== */

@media (min-width: 800px) {

/*  keine angabe */

}


/* ===================================== ab 960 pixel ================================= */

@media (min-width: 960px) {

.name {font-size:3.2rem; line-height:3.4rem; }
.name b {font-size:1.8rem; }

#about.wrapper-box-table {border-spacing:1rem 0rem; font-size:1.4rem; }
#about h3 {font-size:1.5rem; }
#about .box-tabcell  {display:table-cell;height:20rem;width: 33.33%;padding:2rem .5rem }
#about .tabrow {display:none; }
#team.wrapper-box-table {border-spacing:1rem 0rem; font-size:1.4rem; }
#team h3 {font-size:1.5rem; }
#team .box-tabcell  {display:table-cell;height:20rem;width: 33.33%;padding:2rem .5rem }
#team .tabrow {display:none; }
#kontakt.wrapper-box-table {border-spacing:1rem 0rem; font-size:1.3rem }
#kontakt .box-tabcell  {display:table-cell;height:20rem;width: 50%; }
#kontakt .tabrow {display:none; }
#impressions.wrapper-box-table {border-spacing:1rem .5rem; }
#impressions h3 {font-size:1.5rem; }
#impressions .box-tabcell  {display:table-cell;height:20rem;width: 50%;font-size:1.4rem;padding:2rem 1rem }
#impressions .tabrow {display:none; }
#impressions .tabrow-2 {display:table-row; }

#impressions .richtung {transform:rotate(-90deg); }

.box-1_of_4 {width: 25%;  }
.box-1_of_5 {width: 20%;  }
#gallery .box-1_of_3 {width: 33.33%; }
#team .box-1_of_4 {width:25%; }

}


/* ===================================== ab 1100 pixel ================================= */

@media (min-width: 1100px) {

html { font-size:75%; }

.content {padding:6rem 7rem; }

}


/* ===================================== ab 1200 pixel ================================= */

@media (min-width: 1200px) {

#about .box-tabcell  {padding:2rem 2rem }

}


/* ===================================== ab 1400 pixel ================================= */

@media (min-width: 1400px) {

html { font-size:80%; }

.content {padding:6rem 11rem; }

}


/* ===================================== ab 1650 pixel ================================= */

@media (min-width: 1650px) {

.content {width:1650px; }

}

