/********
  betop *******/

html {
  height: 100%;
  min-height: 100%;
  overflow-x: hidden;
}

body {
  color:#222; font-family: 'Source Sans Pro', sans-serif;
  font-size: 1rem; line-height: 1.4rem; font-weight: 500;
  height: 100%; min-height: 100%; overflow-x: hidden;
  background:  url('../assets/background.jpg') repeat;
}

/********
  resets & helpers *******/

ul, ol, ul ul, li, a, figure, nav, menu, p,
h1, h2, h3, h4, h5, h6 {
  margin:0; padding:0;
}

.min-vh {
  height: 100vh;
  position: relative;
}

.opacity {
  opacity: 1;
}

.opacity:hover {
  opacity: .8;
}

.huge {
  font-size: 3vw;
}

.reveal p {
  margin-bottom: 1.25rem;
}

.badge {
    display: inline-block;
    min-width: 2.1em;
    padding: 0.5em;
    border-radius: 50%;
    font-size: 1.125rem;
    text-align: center;
    background: #323232;
    color: white;
    font-weight: bold;
    margin: 0 .25rem;
}

.badge:hover {
  background: #828282;
  color: white;
}

/********
  font settings *******/

h1, h2, h3, h4, h5, h6 {
  line-height: 1;
  text-transform: uppercase;
  color: #7d7d7d;
  font-family: 'Source Sans Pro', sans-serif;
  font-style: italic;
  font-weight: 600;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 1.313rem;
}

h2.en {
  color: #a2a2a2;
}

.small h2 {
  font-size: 1.063rem;
}

p {
  font-size: 1.063rem;
  line-height: 1.625rem;
  font-weight: 300;
}

/* architecture */
.text {
  margin-top: 3.5rem;
}

.text.low {
  margin-top: 1.5rem;
}

.upper-text {
  margin-bottom: 2.5rem;
}

/* architecture */
.online-shop {
  height: 60px; width: 60px; background: black;
  position: fixed; top: 0;
}

.social-media {
  position: absolute;
  bottom: 3rem;
  right: 3rem;
  z-index: 2;
}

.bs img {
  max-width: 220px;
}

.last-page {
  margin-top: -2.5rem;
}

.social-media li {
  margin:0; padding:0;
}

.social-media li + li {
  margin-left: 2.5rem;
}

.social-media li a  {
  color: #222;
  font-size: 1.5rem;
  padding: 0;
}

.social-media li a:hover {
  color: #727272;
}

.sayhello {
  position: absolute;
  bottom: 2.75rem;
  left: 2.75rem;
  z-index: 2;
}

.mail {}

  .imprint-container {
    position: absolute;
    bottom: 2.25rem; left: 0; z-index: 0;
    width: 100%; text-align: center;
  }

.imprint {
  width: 400px; display: inline-block;
}

.sayhello a, .imprint a {
  color: #222;
}

.sayhello a:hover, .imprint a:hover {
  color: #727272;
}

/* fullScreen overrides */
#fp-nav.fp-right {
  right: 2.75rem;
}

#fp-nav.fp-left {
  left: 2.75rem;
}

#fp-nav ul li, .fp-slidesNav ul li {
  margin: 15px 7px;
}

/* mouse scrolling */
.mouseScroll {
  position: absolute; top: 90vh; right: 4.7rem;
}

@-webkit-keyframes ani-mouse {
	0% {
	opacity: 1;
	top: 29%;
	}
	15% {
	opacity: 1;
	top: 50%;
	}
	50% {
	opacity: 0;
	top: 50%;
	}
	100% {
	opacity: 0;
	top: 29%;
	}
}
@-moz-keyframes ani-mouse {
	0% {
	opacity: 1;
	top: 29%;
	}
	15% {
	opacity: 1;
	top: 50%;
	}
	50% {
	opacity: 0;
	top: 50%;
	}
	100% {
	opacity: 0;
	top: 29%;
	}
}
@keyframes ani-mouse {
	0% {
	opacity: 1;
	top: 29%;
	}
	15% {
	opacity: 1;
	top: 50%;
	}
	50% {
	opacity: 0;
	top: 50%;
	}
	100% {
	opacity: 0;
	top: 29%;
	}
}
 .scroll-btn {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
}
.scroll-btn > * {
	display: inline-block;
	line-height: 18px;
	font-size: 13px;
	font-weight: normal;
	color: #727272;
}
.scroll-btn > *:hover,
.scroll-btn > *:focus,
.scroll-btn > *.active {
	color: #727272;
}
.scroll-btn > *:hover,
.scroll-btn > *:focus,
.scroll-btn > *:active,
.scroll-btn > *.active {
	opacity: 0.8;
	filter: alpha(opacity=80);
}
.scroll-btn .mouse {
	position: relative;
	display: block;
	width: 35px;
	height: 55px;
	margin: 0 auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: 2px solid #727272;
	border-radius: 23px;
}
.scroll-btn .mouse > * {
	position: absolute;
	display: block;
	top: 29%;
	left: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	background: #727272;
	border-radius: 50%;
	-webkit-animation: ani-mouse 2.5s linear infinite;
	-moz-animation: ani-mouse 2.5s linear infinite;
	animation: ani-mouse 2.5s linear infinite;
}

.loc-directions {display: inline-block;}
.list-content .loc-directions { margin-top: 0 !important; margin-bottom: 0 !important;}
.loc-directions a:before {content: "\f041";font-family: FontAwesome;font-style: normal;font-weight: normal;text-decoration: inherit; padding-right: 5px; padding-left: 2px;}
.loc-directions a:hover {text-decoration: none !important; color: #e7002c !important;}
.loc-phone {color: #515151;}
.loc-phone:before {content: "\f095";font-family: FontAwesome;font-style: normal;font-weight: normal;text-decoration: inherit; padding-right: 5px;}
.loc-open {color: #515151; font-weight: 400;}
.loc-open:before {content: "\f017";font-family: FontAwesome;font-style: normal;font-weight: normal;text-decoration: inherit; padding-right: 5px;}
.loc-open.no-icon {padding-left: 16px;}
.loc-open.no-icon:before {display: none;}
.loc-web a {color: #515151; margin-top: .5rem; display: inline-block;}
.loc-web a:before {content: "\f005";font-family: FontAwesome;font-style: normal;font-weight: normal;text-decoration: inherit; padding-right: 5px;}
.loc-web a:hover {text-decoration: none !important; color: #e7002c !important;}
.loc-phone {color: #515151; font-weight: 600;}
.loc-phone:before {content: "\f095";font-family: FontAwesome;font-style: normal;font-weight: normal;text-decoration: inherit; padding-right: 5px;}
.loc-dist {color: #515151; font-weight: 600; margin-top: .5rem; margin-bottom: .4rem;}
.loc-dist.a {margin-bottom: 0 !important;}
.loc-dist:before {content: "\f07e";font-family: FontAwesome;font-style: normal;font-weight: normal;text-decoration: inherit; padding-right: 5px;}
.loc-name i {font-weight: 400;}
.adr {margin-top: .5rem;}


.map_controller {width: 100%;}
.content-container {width: 100% !important;}

.opa-map {opacity: 0;}

/* weird hacks */
.bh-sl-container ::-webkit-input-placeholder {
  color: white;
}

.bh-sl-container {
  padding: 0 10%;
}

.bh-sl-container ::-moz-placeholder {
  color: white;
}

.bh-sl-container :-ms-input-placeholder {
  color: white;
}

.bh-sl-container :-moz-placeholder {
  color: white;
}

input.input-group-field {height: 50px; background: white; border: none; padding:0 1.25rem; position: relative; top: 0px; width: 400px;}
.btn {height: 50px; padding:0 1.25rem; background: #222; text-transform: uppercase; color: white; font-family: 'Source Sans Pro', sans-serif; font-size: 1rem; position: relative; left: -3px; cursor: pointer;}
.btn:hover {background: #f9f9f9; color: #222;}

input[type='email'] {
    margin: 0;
    padding: 0.5rem;
    border: 0px solid white;
    border-radius: 0px;
    background-color: white;
    box-shadow: 0 none !important;

    color: #828282 !important;
}

.gm-style div button {
  right: -5px !important;
  left: auto !important;
}

/*.bh-sl-container button {
  height: 20px !important; top: -5px !important;
  right: 5px !important; left: auto !important;
}*/

.bh-sl-container .bh-sl-loc-list, .bh-sl-container .bh-sl-map {
  height: 60vh !important;
}

#bh-sl-user-location .form-input {
  display: inline-block;
  width: 100%; margin:0; padding: 0;
}

#bh-sl-user-location .button2 {
  width: 20%; margin: 0;
  float: left; display: inline-block;
  top: 0 !important; left:0; padding:0;
  height: 60px;border-radius: 0;
}

#bh-sl-user-location .button2:hover {
  background: #2e2e2e;
  transition: 250ms;
}

#bh-sl-user-location input {
  height: 60px !important; width: 80% !important;
  line-height: 60px; font-size: 1.125rem !important;
  padding-left: 1rem !important; top: 0;
  margin: 0; float: left; display: inline-block;
  border-radius: 0;
}

#shop-opening {position: fixed; right:2.75rem; top:2.75rem; border-radius: 100px 100px 100px 100px;
-moz-border-radius: 100px 100px 100px 100px; transition: 150ms;
-webkit-border-radius: 100px 100px 100px 100px;
border: 0px solid #ffffff; height: 120px; width: 120px; background:#222; z-index: 10;}
#shop-opening:hover {background: white; cursor: pointer; transition: 150ms; transition: 150ms;}
#shop-opening h2 {margin-top: 40px; color: white; font-weight: 600; transition: 150ms;}
.white:hover #shop-opening h2 {color: #222;}
a.white {color:white !important;}
a.white:hover {background: white; color: #222 !important;}

.reveal {
  padding: 3.25rem;
}

.reveal a {
  color: #222;
  text-decoration: underline;
}

.reveal a:hover {
  text-decoration: none;
}

.reveal h2 {
  margin-bottom: 2rem;
}

:focus {
  outline: 0 none !important;
}

/* Preloader */
.preload {
  position: fixed; top:0; left:0; right:0; bottom:0;
  background:  url('../assets/background.jpg') repeat; z-index:9999999;}

.loader {
  display: inline-block; width: 30px; height: 30px;
  position: relative; border: 4px solid #232323;
  animation: loader 1.5s ease-in;}

.loader-inner {
  vertical-align: top; display: inline-block;
  width: 100%; background-color: #232323;
  animation: loader-inner 2s  infinite ease-in;}

@keyframes loader {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(180deg);
  }

  50% {
    transform: rotate(180deg);
  }

  75% {
    transform: rotate(360deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes loader-inner {
  0% {
    height: 0%;
  }

  25% {
    height: 0%;
  }

  50% {
    height: 100%;
  }

  75% {
    height: 100%;
  }

  100% {
    height: 0%;
  }
}

.special-height {
  margin-top: -50px;
}

.reveal-trig {
  display: inline-block;
  position: relative;
}

.reveal-trig:hover img {
  opacity: .7;
  transition: opacity 250ms;
}

.logo.main, .logo.mixin {
  padding:0 10%;
}

.logo.bs {
  display: inline-block;
  margin: 1rem 1.5rem;
}

.input-group {
  margin-bottom: 0;
}

@media screen and (max-width: 1320px) {

  .text {
    margin-top: 2.5rem;
    padding: 0 15%;
  }
  br.mobile {
    display: none;
  }
  .sayhello a, .imprint a {
    font-size: 1rem;
  }
  .social-media {
    right: 1.5rem;
    bottom: 1.5rem;
  }
  .sayhello {
    left: 1.5rem;
    bottom: 1.5rem;
  }
  .imprint-container {
    bottom: 1.5rem;
  }
}

@media screen and (max-width: 1180px) {
  #fp-nav.fp-left {
    left: 1.25rem;
  }
  #shop-opening {
    right: 1.25rem;
    top: 1.25rem;
  }
  #shop-opening {
    border-radius: 80px 80px 80px 80px;
    -moz-border-radius: 80px 80px 80px 80px;
    -webkit-border-radius: 80px 80px 80px 80px;
    height: 100px; width: 100px;
  }
  #shop-opening h2 {
    margin-top: 30px;
  }

  .text {
    padding: 0 10%;
  }
}

@media screen and (max-width: 1024px) {
  br.mobile {
    display: none;
  }
  h2 {
    font-size: 1.063rem;
  }
  #shop-opening h2 {
        font-size: 1.313rem;
  }
  .social-media, .imprint-container,
  .sayhello {
    position: relative; top:0; left: 0;
    right: auto; text-align: center;
  }
  .imprint-container {
    margin: 1.25rem 0;
  }
  .social-media {
    margin-top: 7.5rem;
    margin-bottom: 1.25rem;
  }
  .social-media ul.menu {
    display: inline-block;
    width: 100%; text-align: center;
  }
  .social-media ul.menu li {
    display: inline-block;
  }
}

@media screen and (max-width: 640px) {
  #shop-opening {
    border-radius: 50px 50px 50px 50px;
    -moz-border-radius: 50px 50px 50px 50px;
    -webkit-border-radius: 50px 50px 50px 50px;
    height: 70px; width: 70px;
  }
  #shop-opening h2 {
    margin-top: 20px;
    font-size: 1rem;
  }
  .logo.mixin {
    padding: 0 20%;
  }
  .imprint {
    width: 100%;
  }
  .social-media {
    margin-top: 5rem;
  }
  .bs img {
    max-width: 200px;
  }
}


.button-container {
  height: 100px; width: 100%;
  display: inline-block; position: relative;}

.button-new {
  display: inline-block;
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  line-height: 44px;
  text-decoration: none;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70px;
  height: 40px;
  margin-top: -20px;
  margin-left: -90px;
  background-color: #202020;
  border-radius: 0px;
  text-shadow: 0 -1px -1px #0e0e0e;
  -moz-box-shadow: 0 4px 0 #0e0e0e, 0 5px 5px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 4px 0 #0e0e0e, 0 5px 5px 1px rgba(0, 0, 0, 0.4);
  box-shadow: 0 4px 0 #0e0e0e, 0 5px 5px 1px rgba(0, 0, 0, 0.4);
  -moz-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;}

.button-new:hover {
  background-color: #2d2d2d;
  color: white;
  text-shadow: 0 -1px -1px #1b1b1b;
  -moz-box-shadow: 0 4px 0 #1b1b1b, 0 5px 5px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 4px 0 #1b1b1b, 0 5px 5px 1px rgba(0, 0, 0, 0.4);
  box-shadow: 0 4px 0 #1b1b1b, 0 5px 5px 1px rgba(0, 0, 0, 0.4);}

.button-new:active, .button-new:hover {
  margin-top: -18px;  color: white;
  -moz-box-shadow: 0 1px 0 #1b1b1b, 0 1px 1px 1px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 1px 0 #1b1b1b, 0 1px 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 0 #1b1b1b, 0 1px 1px 1px rgba(0, 0, 0, 0.2);}

.button-new.no {
  margin-left:0;}

.starttext {
  margin-top: 4.5rem;}
