

* {
	box-sizing: border-box;
}

body {
	height: 100vh;
	padding: 0px;
	margin: 0px;
	font-family: Roboto, Verdana, Geneva, Tahoma, sans-serif;
	background-color: rgb(220, 220, 220);

	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: min-content 1fr min-content;

	grid-template-areas:
	 "header"
	 "main"
	 "footer";
   overflow: hidden;
}

body > header {
	/*line-height: 40px; /* 50px abzüglich padding oben+unten je 5px */
	background-color: goldenrod;
	grid-area: header;
	min-height: 10px;
	z-index: 9999;
}

body > header::after {
	content: "";
	position: absolute;
	left: 0px;
	width: 100%;
	height: 5px;
	background-image: linear-gradient(rgba(50,50,50,0.7), rgba(50,50,50,0));
}

body > header h2 {
	margin: 0px;
	padding: 5px 10px;
	font-size: 24px;
	text-shadow: 1px 1px 2px rgb(50, 50, 50, 0.7);
}

main {
	grid-area: main;
	display: grid;
	align-items: center;
	justify-items: center;
	/*overflow: auto;*/
	padding: 10px;
}

body > footer {
	position: relative;
	min-height: 10px;
	grid-area: footer;
	background-color: goldenrod;
	z-index: 9999;
}

body > footer::before {
	content: "";
	position: absolute;
	left: 0px;
	top: -5px;
	width: 100%;
	height: 5px;
	background-image: linear-gradient(rgba(50,50,50,0), rgba(50,50,50,0.7));
}

body > header, body > footer {
	background-image: linear-gradient(rgba(255,255,255,0.2), rgba(255,255,255,0.05));
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
}

body > footer label {
	padding-left: 2px;
	font-size: 8px;
}

section {
	position: relative;
}




footer input[type=range] {
  -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
  width: 100%; /* Specific width is required for Firefox. */
  background: transparent; /* Otherwise white in Chrome */
}

footer input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
}

footer input[type=range]:focus {
  outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}

footer input[type=range]::-ms-track {
  width: 100%;
  cursor: pointer;

  /* Hides the slider so custom styles can be added */
  background: transparent;
  border-color: transparent;
  color: transparent;
}






:root {
	--track-color-1: orange; /* #3071a9 */
	--track-color-2: orangered; /* wenn aktiv    #367ebd */

	--track-height: 2px;
	--track-border: 1px solid rgba(1, 1, 1, 0.5);
	--track-shadow: none; /*1px 1px 1px #000000, 0px 0px 1px #0d0d0d;*/


	--thumb-color: orange;
	--thumb-border-color: orangered;

	--thumb-height: 8px;
	--thumb-width: 12px;
	--thumb-margin: -3px;
	--thumb-border: 1px solid rgba(1, 1, 1, 0.5);
	--thumb-shadow: none; /*1px 1px 1px #000000, 0px 0px 1px #0d0d0d;*/

}

footer input[type=range] {
  -webkit-appearance: none;
  margin: 4px 0;
  width: 100%;
}
footer input[type=range]:focus {
  outline: none;
}

footer input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: calc(var(--track-height) * 2);
  cursor: pointer;
  box-shadow: var(--track-shadow);
  background: var(--track-color-1);
  border-radius: 1.3px;
  border: var(--track-border);
}
footer input[type=range]::-webkit-slider-thumb {
  box-shadow: var(--thumb-shadow);
  border: var(--thumb-border);
  height: var(--thumb-height);
  width: var(--thumb-width);
  border-radius: 3px;
  background: var(--thumb-color);
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: var(--thumb-margin);
}
footer input[type=range]:focus::-webkit-slider-runnable-track {
  background: var(--track-color-2);
}

footer input[type=range]::-moz-range-track {
  width: 100%;
  height: var(--track-height);
  cursor: pointer;
  box-shadow: var(--track-shadow);
  background: var(--track-color-1);
  border-radius: 1.3px;
  border: var(--track-border);
	padding: 0px;
}
footer input[type=range]::-moz-range-thumb {
  box-shadow: var(--thumb-shadow);
  border: var(--thumb-border);
  height: var(--thumb-height);
  width: var(--thumb-width);
  border-radius: 3px;
  background: var(--thumb-color);
  cursor: pointer;
}
footer input[type=range]::-moz-range-progress {
	background-color: var(--track-color-2);
}


/***
 *		Checkbox wie ein Switch
 *
 */



 footer [type="checkbox"].switch {
  /*position: relative;
  /*left: 30px;
  top: 0px;*/
  z-index: 0;
  -webkit-appearance: none;
}

footer [type="checkbox"].switch + label {
  position: relative;
  /*display: block;*/
  cursor: pointer;
  /*font-family: sans-serif;
  font-size: 24px;
  line-height: 1.3;*/
  padding-left: 27px;
  /*margin-top: -30px;*/
}

/*  background  */
footer [type="checkbox"].switch + label:before {
	content: "";
	position: absolute;
	top: 1px;
	left: 0px;
  width: 20px;
  height: 6px;
  border-radius: 6px;
  border: 1px solid black;
  background-color: var(--thumb-color); /*#EEE;*/
  z-index: 5;
	transition: background-color 250ms linear;
}

/*  ball  */
footer [type="checkbox"].switch + label:after {
	content: "";
	position: absolute;
  top: 2px;
  left: 1px;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background-color: white; /*var(--thumb-border-color); /*#fff;*/
  box-shadow: 0px 0px 5px #aaa;
  z-index: 10;
	transition: all 250ms linear;
}

footer [type="checkbox"].switch:checked + label:before {
  background-color: var(--track-color-2); /* #2b8718;*/
}

footer [type="checkbox"].switch:checked + label:after {
  margin: 0 0 0 14px;
}

