@font-face {
	font-family:'Elliot';
	src: url('../fonts/FSElliot-Regular.eot');
	src: url('../fonts/FSElliot-Regular.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/FSElliot-Regular.woff') format('woff'),
		 url('../fonts/FSElliot-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display:swap;
}



/* REBOOT */
*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:'Elliot',sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}*{padding:0;margin:0;}

/* PRELOADS */
body::after {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	z-index: -1;
	content: url(../svg/frei.svg) url(../svg/besetzt.svg) url(../svg/waves.svg);
}

html,
body {
	font-family: 'Elliot', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	line-height: 1.5;
	background: #f0f0f0;;
	color: #4A8F9F;
	text-align: left;
	-webkit-overflow-scrolling: touch;
	position: relative;
	height: auto;
	padding: 0;
	margin: 0;
}

html,
button,
input,
textarea {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

@-moz-document url-prefix() {
	body {
		font-weight: lighter !important;
	}
}


#screen {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0;
	margin: auto;
	width: 100%;
	/*max-width: 1100px;*/
	height: 100%;
	min-height: 650px;
	/*max-height: 825px;*/
	background-color: #fff;
	z-index: 10;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#screen.frei {
	background-image: url(../svg/frei.svg);
}

#screen.besetzt {
	background-image: url(../svg/besetzt.svg);
}

#display {
	width: 100%;
	height: auto;
	position: absolute;
	left: 0;
	bottom: 15%;
	text-align: center;
}

#display h1,
#display h2 {
	font-family: 'Elliot';
	font-size: 40px;
	line-height: 1.25;
	font-weight: normal;
	color: #4A8F9F;
	text-align: center;
	padding: 0;
	margin: 0;
}

.openpin {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor:pointer;
	z-index: 10;
}

.overlay {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}

#pinscreen {
	z-index: 50;
}

.pin-keypad {
	position: absolute;
	width: 300px;
	height: 530px;
	margin: 0 auto;
	left: 50%;
	top: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.pin-keypad label {
	display: none;
}

.pin-keypad input {
	display: block;
	width: 100%;
	height: 58px;
	margin: 0;
	padding: 0;
	line-height: 58px;
	text-align: center;
	border-radius: 5px;
	border-color: #4A8F9F;
	color: #4A8F9F;
}

.pin-keypad .keypad {
	height: 60px;
	border-color: #4A8F9F;
	color: #4A8F9F;
	border-radius: 5px;
}

.pin-keypad .keypad .keys.bottom {
	margin-top: 6px;
}

.pin-keypad .keypad .key {
	border-color: #f0f0f0;
	color: #4B4F54;
}

.pin-keypad .keypad .keys:before {
	display: none !important;
}

.pin-keypad .keypad .key:hover {
	transform: none !important;
	box-shadow: none !important;
}

.pin-keypad .send {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #4A8F9F;
	color: #fff;
	text-align: center;
	width: 100%;
	height: 60px;
	line-height: 60px;
	border-radius: 5px;
	border: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-transform: uppercase;
	font-size: 15px;
	letter-spacing: 0.05em;
}

.shake {
	-webkit-animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
	animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-perspective: 1000px;
	perspective: 1000px
}

@-webkit-keyframes shake {

	10%,
	90% {
		-webkit-transform: translate3d(0, -1px, 0);
		transform: translate3d(0, -1px, 0)
	}

	20%,
	80% {
		-webkit-transform: translate3d(2px, 1px, 0);
		transform: translate3d(2px, 1px, 0)
	}

	30%,
	50%,
	70% {
		-webkit-transform: translate3d(-3px, -2px, 0);
		transform: translate3d(-3px, -2px, 0)
	}

	40%,
	60% {
		-webkit-transform: translate3d(3px, 2px, 0);
		transform: translate3d(3px, 2px, 0)
	}
}

@keyframes shake {

	10%,
	90% {
		-webkit-transform: translate3d(0, -1px, 0);
		transform: translate3d(0, -1px, 0)
	}

	20%,
	80% {
		-webkit-transform: translate3d(2px, 1px, 0);
		transform: translate3d(2px, 1px, 0)
	}

	30%,
	50%,
	70% {
		-webkit-transform: translate3d(-3px, -2px, 0);
		transform: translate3d(-3px, -2px, 0)
	}

	40%,
	60% {
		-webkit-transform: translate3d(3px, 2px, 0);
		transform: translate3d(3px, 2px, 0)
	}
}


#hours {
	z-index: 5;
}

.hours {
	position: absolute;
	width: 100%;
	height: auto;
	margin: 0 auto;
	left: 50%;
	top: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);

}

.hours-waves {
	position: absolute;
	left:0;
	top:15%;
	width:100%;
	height:100px;
	background:url(../svg/waves.svg) left center repeat-x;
	background-size: 180px 100px;
	animation: marquee 20s infinite linear;
}

@keyframes marquee {
  0% {
	background-position: 0;
  }

  100% {
	background-position: -1080px;
  }
}

#hours h3 {
	font-size: 2em;
	font-weight: normal;
	text-align: center;
	padding: 0 0 10px 0;
	margin: 0;
}

#hours p {
	font-family: 'Elliot';
	font-size: 40px;
	line-height: 1.25;
	font-weight: normal;
	color: #4A8F9F;
	text-align: center;
	padding: 0;
	margin: 0;
}

#hours p strong, #hours p b {
	font-weight: 700;
}


#settings {
	z-index: 25;
}

.settings {
	position: absolute;
	width: 500px;
	height: auto;
	margin: 0 auto;
	left: 50%;
	top: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

#settings label {
	font-size: 10px;	
	font-weight: normal;
	text-transform: uppercase;
	text-align: center;
	color: #4B4F54;
	padding:0;
	margin:0;
}

#settings select {
	display: block;
	width:100%;
	font-size: 1em;
	line-height: 60px;
	border: 1px solid #4A8F9F;
	color: #4B4F54;
	background: #fff;
	border-radius: 5px;
	padding:0 20px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.set-status {
	padding: 50px 0 0 0;
	height:auto;
	overflow:hidden;
}

.set-status-row {
	margin:0 -50px;
	height:auto;
	overflow:hidden;
}

.set-status-col {
	display: inline-block;
	vertical-align: middle;
	width:50%;
	height:auto;
	padding:0 50px;
}

.set-status-button {
	width:100%;
	height:auto;
	cursor: pointer;
}

.set-status-button img{
	width:100%;
	height:auto;
}

#openhours {
	position: absolute;
	left:25px;
	bottom:25px;
	cursor: pointer;
}

#updatedata {
	position: absolute;
	right:25px;
	bottom:25px;
	cursor: pointer;
}

#updating {
	display: none;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#fff;
	z-index: 25;
}

#updating p{
	position:absolute;
	font-size: 1em;
	line-height: 1.5;
	width: 100%;
	height: 1.5em;
	text-align: center;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	padding:0 25px;
}


.show {
	display: block !important;
}

.overlayclose{position:absolute;top:0;right:0;width:50px;height:50px;cursor:pointer;z-index:50;}

.overlayclose::before,.overlayclose::after{
  content: '';
  pointer-events: none;
  position: absolute;
  right:0;
  border-color: #4B4F54;
  background-color: #4B4F54;
  color: #4B4F54;
  opacity: 1;
  box-sizing: border-box;
  display: inline-block; }


.overlayclose::before,.overlayclose::after{
  content: '';
  display: inline-block;
  position: absolute;
  height: 1px;
  width: 30px;
  top: calc(50% - 1px);
  left: calc(50% - 15px); }

.overlayclose::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.overlayclose::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }