body {
	background: black;
	overflow: hidden;
	margin: 5px 5px 10px 5px;
} 
html {
	overflow-x: hidden;
}
@font-face {
  font-family: din;
  src: url('fonts/din_bold.ttf');
  font-weight: bold;
}
@font-face {
  font-family: din;
  src: url('fonts/din_regular.ttf');
  font-weight: normal;
}
@font-face {
  font-family: din;
  src: url('fonts/din_light.ttf');
  font-weight: lighter;
}

.roll {
	position: absolute;
	transform-style: preserve-3d;
	width: 100%;
	height: 100%;
	left: 0;
	animation: spin 30s infinite linear;
}
.roll_container {
	perspective-origin: center;
	perspective: 5000px;
	transform-style: preserve-3d;
	height: 80%;
	width: 100%;
	left: 0;
	top: 5%;
	position: absolute;
	overflow: hidden;
}
img.still {
	position: absolute;
	top: 0;
	height: 100%;
	transform: scaleY(-1);
	animation: img_path 20s;
	animation-fill-mode: both;
	z-index: -1;
}
@keyframes img_path {
	0% {
		opacity: 0;
	} 1% {
		opacity: 1;
	} 99% {
		opacity: 1;
	} 100% {
		opacity: 0;
	}
}

.face {
	position: absolute;
	background: white;
	opacity: 1;
	box-shadow: inset 0 0 0 2px black;
	width: 100%;
	top: 50%;
	animation: hide 30s linear infinite;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
}
.face .ghost {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1000000000;
}
.face .names {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1000000001;
	transform: scaleY(-1);
	display: flex;
	align-items: flex-end;
	font-family: din;
	mix-blend-mode: difference;
	line-height: 13px;
	color: white;
}
.item {
	height: 100%;
	width: 5%;
	background: black;
	display: inline-block;
	transition: width 0.5s cubic-bezier(0.55, 0, 0, 0.99);
	position: relative;
}
.item h3 {
	position: absolute;
	color: white; 
	mix-blend-mode: difference;
	bottom: -14px;
	left: 2px;
	z-index: 1;
	text-transform: uppercase;
	transform: rotate(180deg) scaleX(-1);
	font-family: din;
	font-size: 15px;
}
.item.space {
	background: none;
	width: 1%;
}
.footer {
	bottom: 3%;
	left: 2%;
	position: absolute;
	height: 7%;
	display: flex;
	width: 95%;
	align-items: baseline;
	place-content: space-between;
}
.footer h3 {
	color: white;
	display: inline-block;
	font-family: 'din';
	font-weight: normal;
	line-height: 100%;
	margin: 0;
	font-size: 1em;
	margin-top: 3%;
	vertical-align: middle
}
span[color='red'] {
	color: red;
}
span[color='green'] {
	color: rgb(0,255,0);
}
span[color='blue'] {
	color: #acb0ff;
}
.footer .right h3 {
	text-align: right;
	margin: 6% 0 0 0;
}
.footer div {
	display: inline-block;
	height: 100%;
}
#qr {
	filter: invert(1);
	height: 100%;
	margin-right: 7px;
	vertical-align: middle;
}


@keyframes spin {
  to {
	transform: rotateX(-360deg); 
  }
}
@keyframes hide {
	0% {
		opacity: 1;
	}
	1% {
		opacity: 1;
	}
	2% {
		opacity: 0;
	}
	48% {
		opacity: 0;
	}
	49% {
		opacity: 1;
	}
	
}

/* OVERLAYS */

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	box-shadow: inset 0 0 0 2px black;
	animation: slow_fade 0.5s 10s;
	animation-fill-mode: both;
}
@keyframes slow_fade {
	from {
		opacity: 1;
	} to {
		opacity: 0;
	}
}
.overlay .item {
	background: none;
}
.overlay h3 {
	display: none;
}
.overlay .item.edited {
	background: red;
}

.overlay.blue .item.edited {
	background: blue;
}
.overlay.green .item.edited {
	background: rgb(0,255,0);
}

.overlay .item.edited.space {
	background: none;
}


/* SCAN CONTAINER */

.scan_container {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: opacity 0.5s;
}
.scan_menu {
	background: black;
	max-width: 90%;
	width: 400px;
	box-sizing: border-box;
	box-shadow: 0 0 0 3px white;
	
}
.scan_menu h3 {
	color: white;
	font-weight: normal;
	font-size: 30px;
	padding: 30px 20px 20px;
	padding-bottom: 15px;
	line-height: 30px;
	font-family: 'din';
	margin: 0;
	text-transform: uppercase;
}
.scan_menu p {
	color: white;
	font-family: 'din';
	margin: 0 20px 28px;
}
.scan_menu a button {
	 background: lime;
	 border-top: 3px solid black;
}
@media (hover:hover) {
	.scan_menu a button:hover {
		background: #66ff66;
	}
}
@media (hover:none) {
	.scan_menu a button:active {
		background: #66ff66;
	}
}
.scan_container.inactive {
	opacity: 0;
	pointer-events: none;
}


/* EDITOR */

.editor_parent {
	max-width: 700px;
	margin: 0 auto;
}
.editor_parent .letter_container {
	width: 100%;
	background: black;
}
.editor_parent .letter_container .row {
	background: white;
	box-shadow: inset 0 0 0 3px black;
	width: 100%;
	display: block;
	height: 50px;
	text-align: center;
	white-space: nowrap;
}
.letter_container .item {
	transition: none;
}
section {
	background: black;
	padding: 5px 3px 0 3px;
	box-sizing: border-box;
}
section .dial {
	height: 60px;
	background: white;
	position: relative;
	cursor: pointer;
}
section .dial .indicator {
	position: absolute;
	background: #d6d6d6;
	height: 100%;
	width: 10%;
}
h5 {
	font-family: din;
	color: black;
	text-transform: uppercase;
	padding: 20px 15px;
	margin: 0;
	font-size: 22px;
	position: relative;
}
section input {
	font-family: din;
	color: white;
	text-transform: uppercase;
	padding: 15px 15px;
	margin: 0;
	font-size: 22px;
	position: relative;
	color: black;
	width: 100%;
	outline: none;
	border: none;
	box-sizing: border-box;
	height: 60px;
}
input::placeholder {
	color: black;
}
* {
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	/*-moz-user-select: none;*/
	-ms-user-select: none;
	/*user-select: none;*/
}

.color_container {
	padding-right: 0;
}
.color {
	height: 60px;
	width: calc(100% / 3 - 5px);
	display: inline-block;
	background: red;
	margin-right: 5px;
	cursor: pointer;
	transition: box-shadow 0.2s;
}
.color.green {
	background: #00ff00;
}
.color.blue {
	background: blue;
	width: calc(100% / 3 - 3px);
	margin-right: 3px;
}
button {
	width: 100%;
	outline: none;
	border: none;
	transition: background 0.2s;
	cursor: pointer;
}
.scroll_container {
	position: fixed;
	height: 100%;
	width: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
	top: 0;
	left: 0;
	padding: 5px 5px 10px 5px;
	box-sizing: border-box;
}
.scroll_container.prevent_scroll {
	overflow: hidden;
}
@media (hover:hover) {
	.color:hover {
		box-shadow: inset 0 0 0 3px white;
	}
	button:hover {
		background: #d6d6d6;
	}
}
@media (hover:none) {
	.color:active {
		box-shadow: inset 0 0 0 3px white;
	}
	button:active {
		background: #d6d6d6;
	}
}

.color.active {
	box-shadow: inset 0 0 0 3px white;
	animation: select_color 1.5s infinite;
}
@keyframes select_color {
	0% { box-shadow: inset 0 0 0 4px white; }
	50% { box-shadow: inset 0 0 0 8px white; }
	100% { box-shadow: inset 0 0 0 4px white; }
}


section.heading {
	border: 3px solid white;
	margin: 3px;
}

.heading h3 {
	color: white;
}
.heading h5 {
	color: white;
	font-weight: normal;
	font-size: 30px;
	padding-top: 3px;
	padding-bottom: 15px;
	line-height: 30px;
}
.heading h3 {
	color: white;
	font-family: din;
	font-size: 15px;
	padding: 15px 15px 0;
	margin: 0;
}
.personality_editor .heading {
	margin-top: 7px;
}

[name='submit'] h5:after {
	content: 'Submit';
}
[name='submit'].loading h5:after {
	content: 'Sending';
}
[name='submit'].loading {
	pointer-events: none;
}
[name='submit'].success h5:after {
	content: 'Sent';
}
[name='submit'].username_error h5:after {
	content: 'Please add a username';
}
