* {
	-webkit-touch-callout: none;
	-webkit-user-select:   none;
	-khtml-user-select:    none;
	-moz-user-select:      none;
	-ms-user-select:       none;
	user-select:           none;
}

#title {
	margin: 16pt 8pt;
	font-family: "Rubik";
	font-size: min(10vw, 48pt);
	font-weight: bold;
}

#title > #version {
	position: relative;
	font-weight: normal;
	display: inline-block;
	font-size: .3em;
}

.sub_title {
	margin: 16pt 8pt;
	font-family: "Rubik";
	font-size: min(6vw, 24pt);
}

#title_logo {
	width: .8em;
	vertical-align: center;
	margin-right: 6pt;
}

.text {
	font-family: "Rubik";
	font-size: min(4vw, 12pt);
}

#main_container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
}

button {
	font-family: "Rubik";
	font-size: min(4vw, 16pt);
	margin: min(.6vw, 4pt);
	border: 2px solid lightgray;
	border-radius: min(2vw, 12px);
	padding: min(1vw, 4pt);
	background-color: white;
	color: black;
}

button:active {
	background-color: #3C86BE;
	color: white;
}

.primary_button {
	background-color: #5DADEB;
	color: white;
}

.primary_button:active {
	background-color: #77A0C0;
}

.error_message {
	color: red;
	display: none;
}

#lock_container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}

table {
	margin: 16pt auto;
	border-collapse: collapse;
	border: 2px solid lightgray;
	font-family: "Rubik";
	font-size: min(4vw, 16pt);
	width: min(90%, 600px);
}

table th {
	border: 1px solid lightgray;
}

table tbody th {
	font-weight: normal;
	padding: 4px;
}

table thead th {
	font-weight: bold;
	padding: 6px;
}