* {
  margin: 0;
  padding: 0;
  font-size: 100%;
  box-sizing: border-box;
}

body {
  font-family: "ITC Avant Garde Gothic", "Century Gothic", "Futura", Arial, "Lucida Sans Unicode", sans-serif;
  color: #8e8379;
  background-color: white;
  font-size: 1rem;  
  background-image: linear-gradient( to left top, white, #f0e9e8);  
}

#container {
  max-width: 960px;
  margin: 0 auto;
  background-color: #f0e9e8;
  width: 100%;
  text-align: center;
}

header {
  background-color: white;
  z-index: 997;
  position: relative;
  margin-bottom: 1.5em;
}

.logo {
  max-width: 50%;
  height: auto;
  padding: 1em 0;
}

/*--------- NAVIGATION ----------*/
/* BURGER ICON */
#menuBtn {
  width: 3.5rem;
  height: 2.25rem;
  cursor: pointer;
  z-index: 999;
  position: fixed;
  top: 1em;
  right: 0;
  background-color: rgba(255, 255, 255, .75);
}

.bar {
  background-color: #8e8379;
  width: 2rem;
  height: .2rem;
  position: fixed;
  top: 2em;
  right: 1em;
}

.bar::before,
.bar::after {
  content: " ";
  position: fixed;
  width: 2rem;
  height: .2rem;
  background-color: #8e8379;
  right: 1em;
}

.bar::before {
  transform: translateY(-.75rem);
}

.bar::after {
  transform: translateY(.75rem);
}

/*------ Burger Icon wird zum X ------*/
#menuBtn.open .bar {
  background-color: transparent;
}

#menuBtn.open .bar::before {
  transform: rotate(45deg);
}

#menuBtn.open .bar::after {
  transform: rotate(-45deg);
}

/* menue schließen, beim klick ins Leere */
#invisibleBG {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: transparent;
  z-index: 950;
} 

/*---------------- NAVIGATION ------------*/
nav {
  display: none;
  z-index: 998;
  position: fixed;
  top: 0;
  background-color: white;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
}

.open {
  display: block;
}

.navi-liste {
  list-style-type: none;
}

.navi-links,
.navi-logo {
  border-bottom: thin #8e8379 solid;
}

.navi-links a {
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .15em;
  padding: 1em;
}

.navi-links a:hover,
.navi-links a:focus {
  background-image: linear-gradient(to bottom, white, #f0e9e8);  
  font-weight: 500;
  letter-spacing: .3em;
}
/*----------- NAVIGATION ENDE ------------*/


/* -------- MAIN CONTENT ------------ */

h1 {
  font-size: 1.25rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .5em;
}

h1, h2, strong {
  font-weight: 500;
}

p {
  padding-bottom: 1em;
  margin: 0 auto;
}

main {
  margin: 0 auto 3em;
  padding: 0 .75em;
}

a {
  font-size: 1rem;
  color: #8e8379;
}

img {
  width: 100%;
  height: auto;
}

.neuerName {
  font-style: italic;
  font-weight: 500;
  padding: .5em auto;
}

.salonName {
  font-size: 1.35rem;
}

/* ---------- INFOBOX ------------ */
table {
  width: 100%;
  margin: 0 auto;
  padding: 1em 0;
  line-height: 1.1;
}

#infobox {
  background-color: white;
}

th {
  padding-bottom: 0.5em;
  font-weight: 500;
  text-transform: uppercase;
}

#zeiten {
  margin: 0 auto;
  padding: 0 2em;
  max-width: 80%;
}

.tage {
  text-align: left;
}

.std {
  text-align: right;
}

/* ---------- INFOBOX ENDE ------------ */


/* ---------- FOOTER ----------- */
footer {
  padding: 1em;
}

footer a {
  text-decoration: none;
  letter-spacing: .1em;
  display: inline-block;
  padding-bottom: .25em;
  font-size: .85rem;
}

footer a:hover,
footer a:focus {
  text-decoration: underline;
} 
/* ---------- FOOTER ENDE ----------- */





/* ---------- IMAGE CAROUSEL ----------- */

.carousel-container {
  margin: 0 auto;
  position: relative;
}

#carousel {
  max-width: 980px;
  height: auto;
  max-height: 100vh;
  margin: 0 auto;
  position: relative;
}

#currentSlide {
  border: thin solid white;
}

.gallery-container {
  background-color: white;
  padding-top: .25em;
  margin-top: -.3em;
}

.gallery {
  width: 13%;
  height: auto;
  display: inline;
}

.gallery:hover {
  border-left: medium solid #8e8379;
  cursor: pointer;
}

/*-------- carousel buttons------- */
#btnPrev, #btnNext {
  background-color: rgba(255, 255, 255, .75);
  width: 2rem;
  height: 2rem;
  position: absolute;
  padding: .25em;
}

#btnPrev {
  top: 50%;
}

#btnNext {
  top: 50%;
  right: 0;
}

#fullscreenIcon {
  background-color: rgba(255, 255, 255, .75);
  width: 2rem;
  height: 2rem;
  color: #8e8379;
  padding: .25em;
  position: absolute;
  top: 0;
  right: 0;
}

#fullscreenIcon:hover,
#btnPrev:hover,
#btnNext:hover {
  padding: .1em;
  cursor: pointer;
}

.fullscreen-open {
  width: 100%;
  height: 100vh;
  z-index: 999;
  background-color: rgba(142, 131, 121, .75);
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: scroll;
}

/* ---------- IMAGE CAROUSEL ENDE ----------- */





/*-----------PREISE------------*/

.leistung {
  text-align: left;
  padding-left: .25em;
}

.preise {
  text-align: right;
  padding-right: .1em;
}

.preise,
.leistung {
  vertical-align: top;
}

.kategorie {
  font-weight: 500;
}

.listenInfo {
  font-size: .75rem;
}


.whiteBG {
  background-color: white;
  padding: .25em;
}


/*-----------PREISE ENDE------------*/





/* ---------- DATENSCHUTZ ----------- */
.datenschutz {
	text-align:left;
}

.datenschutz ul {
  padding-left: 1.25em;
  padding-bottom: 1em;
}

.datenschutz a {
	text-decoration:underline;
}
/* ---------- DATENSCHUTZ ENDE ----------- */




/* -----------------------------MIN WIDTH 768 PX------------------------ */
@media screen and (min-width: 768px) {
  
  h1 {
    font-size: 1.5rem;
  }

  header {
    margin-bottom: 2em;
  }

  #menuBtn {
    display: none;
  }

  nav {
    display: block;
    position: relative;
    border-top: thin solid #8e8379;
    height: auto;
    overflow: hidden;
  }

  .navi-logo {
    display: none;
  }

  .navi-links {
    display: inline-block;
    border: none;
    padding: 0;
    margin: 0;
  }
  
  .navi-links a {
    padding: .75em;
  }
  
  .navi-links a:hover,
  .navi-links a:focus {
    font-weight: 500;
    letter-spacing: .15em;
  }

  .logo {
    max-width: 30%;
  }

  main {
    max-width: 85%;
  }

  #kontakt, #zeiten {
    max-width: 50%;
    margin: 0 auto;
  } 

  #carousel {
    top: 10%;
  }

}


/*-------------------MIN HEIGHT 768--------------------*/
@media screen and (min-height: 768px) {
  
  
  
  #container {
    min-height: 100vh;
    position: relative;
  }

  

}

/* ------------------------MIN WIDTH 960 PX--------------------- */

@media screen and (min-width: 960px) { 
  body {
    font-size: 1.25rem;
  }
 
  main {
    max-width: 75%;
  }

  .telefonNr {
    font-size: 1.2rem;
  }
}

/* ------------------SMALL DEVICE -----------*/
@media screen and (max-width: 480px) {

  .preisTabelle {
    font-size: .75rem;
  }

}