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

/* zusätzliche zeilenabstände, absatz */
.content br {
	line-height: .6;
	font-weight: bold;
}

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


/* überschriften */

h1, h2, h3, h4, h5 {
color:#000;
text-align:left;
text-transform:uppercase;letter-spacing:2px;
}

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

}

h2 {
font-size:2.4rem;
line-height: 3rem;
margin-top: 0rem;
margin-bottom: 3.5rem;
font-weight:normal;
}

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


h3 {
font-size:1.9rem;
line-height: 2.3rem;
margin-top: 2.1rem;
margin-bottom:1.8rem;
letter-spacing:.1rem;
font-weight:normal;
text-transform:none;
}

/* allgemeine links  */

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

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

/* quelltext-erklärungen - 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:#EFEFEF;
color:#3F3F3F;
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:#7F7F7F;font-weight:bold;
transform:rotate(-45deg);
}


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


.container_haupt {
margin:0 auto;
padding:0;
width:100%;
}


/* 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;
    border-right-width: 0px;
    padding-right: 20px;
    float: left;
}


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

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

.box {display:inline-block;
width:100%;
vertical-align:top;
padding:0;
margin:0 -.2rem .1rem -.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 ,
.box-1_of_5 {width:100%;
}




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

.section-logo {POSITION: relative;
width:100%;
height:100vh;
background: orange;
overflow:hidden;
margin:0;
padding:0;
}

.logo {
width:100%;height:100%;
display:table;
margin:0 auto;
}

.name-wrapper {position:absolute;display:table;
top:50%;right:56%;
width:17rem;
height:8rem;
margin-right:-15rem;
margin-top:-4rem;
transform: skewX(-15deg);
background:gold;/*IE9*/
background: linear-gradient(to bottom left , gold,darkorange,orange,darkorange, gold);
box-shadow:0 0  10px black;
}

.name {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	color: #000;
	text-shadow: 0px 1px 1px white;
	font-size: 2.5rem;
	line-height: 1.8rem;
	padding: 0 0;
}

.name b {font-weight:normal;
font-size:1.6rem;
line-height:1.7rem;
text-transform:uppercase;
}





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


.content-wrapper {
width:100%;
}

.section-content {
width:100%;
color:#000 ;
margin:0;
padding:0;
}

.content {
display:block;
width:100vw;
min-height:20rem;
margin: 0 auto;
padding:6rem 3rem;
text-align:left;
}


/* - - - - - - - - - -  jeder ungerade abschnitt, also abschnitt 1, abschnitt 3, abschnitt 5 usw - - - - - - - - - -  */

.section-content:nth-child(odd)  {
background:#DFDFDF;
}

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

.section-content:nth-child(odd) h2:after {
text-align:left;
border-top: 8px solid orange;
display: block;
width: 60px;
content: "";
margin: 8px 0 ;
}


/* - - - - - - - - - -  der gerade abschnitt, also abschnitt 2, abschnitt 4, abschnitt 6 usw - - - - - - - - - -  */

.section-content:nth-child(even) {
background-color: #C7C7C7;
}

.section-content:nth-child(even) .content {
	background: #F3F0F3;
	font-weight: bold;
}

.section-content:nth-child(even) h2:after {
text-align:left;
border-top: 8px solid #34839A;
display: block;
width: 60px;
content: "";
margin: 8px 0 ;
}


.box-1_of_1_gallery ,
.box-1_of_2_gallery ,
.box-1_of_4_gallery {
width:100%;
}

.box img,
.box a img {display:block;
width: 100%;
height: auto;
box-shadow:0 0 0 1px white;
}


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

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

#kontakt .box-1_of_2 {width: 100%; }

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

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

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

#kontakt  li  a {display:inline-block;
text-align:left;
text-decoration : underline;
letter-spacing:0rem;
padding:0rem ;
margin:0;
color:#000;
}

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

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

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

#kontakt .adresse .fas ,
#kontakt .adresse .fab ,
#kontakt .adresse .far  {color:#0090E0; }

#kontakt .kontakt .fas ,
#kontakt .kontakt .fab ,
#kontakt .kontakt .far  {color:orange; }

#kontakt .zeit .fas ,
#kontakt .zeit .fab ,
#kontakt .zeit .far  {color:tomato; }

#kontakt .social-media .fas ,
#kontakt .social-media .fab ,
#kontakt .social-media .far  {color:limegreen; }

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



/* ############################################################ */
/* bereich fusstop */
/* ############################################################ */

.section-fusstop {
width:100%;
color:#fff ;
background:#95CBDB;
}

.fusstop {
background:#296574;
min-height:15rem;
margin: 0 auto;
padding:1rem 1rem 3rem 1rem ;
font-size:1.4rem;
}

/*  ----------------------------------------  */
/*  box #fusstop   */
/*  ----------------------------------------  */


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

#fusstop .box {display:block;
padding:1rem 1rem 1rem 1rem ;
text-align:left;
width:28rem;
margin:0 auto;
}

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

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

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



/*  ----------------------------------------  */
/*  #fusstop-menu  */
/*  ----------------------------------------  */


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

#fusstop .menu ul {
text-align:left;
margin:0;
padding:0;
}

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

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

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

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

#fusstop li  a:before {display:inline-block;
font-family:'Font Awesome 5 Free';
content:"\f35a";
font-style: normal;
font-variant-caps: normal;
font-variant-ligatures: normal;
font-weight: 900;/* Weight of the font (by fontawesome)- use:
               - 400 for Regular and Brands symbols;
               - 900 for Solid symbols. */
text-rendering: auto;
-webkit-font-smoothing: antialiased;
margin-right:1rem;
color:gold;
font-size:1.3rem;
transform:rotate(-45deg);
transition:all .4s ;
}

#fusstop li  a:hover:before {
color:#fff;transform:rotate(720deg);
}


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


.section-fuss {
width:100%;
background:#95cbdb;/*IE9*/
background: linear-gradient(to bottom, #95CBDB,#276374  );
color:#000;
}

.fuss {
text-align:center;
margin: 0rem auto;
padding:1rem;width:100%;
padding:1rem 0 ;
}

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


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

#fuss  .box {display:inline-block;
width:100%;
vertical-align:middle;
text-align:center;
padding:3rem 0;
margin:0 -.25rem 0rem -.25rem ;/* ausgleich ( minus-margin) für INLINE-BLOCK-WHITESPACE-BUG*/
}

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

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

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

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

/* fussname */
#fuss .name {display:block;
color:#DFDFDF;
text-shadow:0px 0px 6px #FFFFFF;
text-align:center;
padding:1rem 0;
font-size:1.2rem;
line-height:1.5rem;
letter-spacing:0.2rem;

}

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

#fuss .icons a .fas,
#fuss .icons a .fab,
#fuss .icons a .far {display:inline-block;
transform: skewX(-15deg);
font-size:1.5rem;
line-height:3rem;
height:3rem;
width:3rem;
color:white;
margin:.2rem;
background:#2E7081;
transition:all .3s;
}


#fuss .icons a:hover .fas,
#fuss .icons a:hover .fab,
#fuss .icons a:hover .far {
transform: skewY(-15deg);
color:white;
box-shadow:1px 1px 1px black;
}



/* ############################################################ */
/* 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 400 pixel ================================== */

@media (min-width: 400px) {

.logo , .content, .fusstop , .fuss {
width:90vw;
}


}


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

@media (min-width: 480px) {

/* GRID-SYSTEM */
.box-1_of_1 {width: 80%; }
.box-1_of_2 {width: 80%; }
.box-1_of_3 {width: 80%; }
.box-1_of_4 {width: 80%; }
/* ende GRID-SYSTEM  */


}


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

.content {
padding:8rem 5rem;
}

/* GRID-SYSTEM*/
.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%; }
.box-1_of_1_gallery {width: 100%;  }
.box-1_of_2_gallery {width: 50%;  }
.box-1_of_4_gallery {width: 50%;  }
/* ende GRID-SYSTEM */

}


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

/* keine Angabe */


}


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

html {font-size:70%;}


.section-logo {
height:36rem;
}


.logo , .content, .fusstop , .fuss  {
width:92vw;
}



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


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

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

#fusstop .menu a {font-size:1.1rem; }


}


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

@media (min-width: 800px) {

.content {
text-align:xjustify;
}


}


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

@media (min-width: 1024px) {

.name-wrapper {
margin-top:-6rem; /* damit die vertikale zentrierung wieder stimmt,weil das menü eingeblendet wird */
}

#kontakt .inhalt ,
#kontakt .menu a {
font-size:1.3rem;
line-height:1.6rem;
}

/* GRID-SYSTEM */
.box-1_of_4 {width: 25%;  }
.box-1_of_4_gallery {width: 50%;  }
/* ende  GRID-SYSTEM  */


}


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

@media (min-width: 1100px) {

html {
font-size:75%;
}

.logo , .content, .fusstop , .fuss  {
width:90vw;
}

pre {width:50vw;
}


}


/* ===================================== ab 1300 pixel ================================= */

@media (min-width: 1300px) {

.logo , .content, .fusstop , .fuss {
width:80vw;
}


}


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

@media (min-width: 1400px) {

html {
font-size:85%;
}



}


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