body {
	padding: 0;
	margin: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: monospace;
	background: #121212;
	color: #eeeeee;
}

h1 {
	text-transform: uppercase;
	letter-spacing: 0.15em;
	text-align: center;
	font-size: 2rem;
	color: #eeeeee;
}

form {
	padding: 0 2rem;
}

.inputfile {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.inputfile + label {
    font-size: 1.25em;
    font-weight: 400;
    color: #eeeeee;
    background-color: #222222;
    display: inline-block;
		cursor: pointer;
		transition: all 0.35s;
		padding: 1rem;
		width: 100%;
		text-align: center;
		border: 2px solid #222222;
		box-sizing: border-box;
}

.inputfile:focus + label,
.inputfile + label:focus-visible,
.inputfile + label:hover {
    background-color: #121212;
		color: #eeeeee;
		outline: none;
}

input[type="text"],
input[type="password"] {
	font-size: 1.25em;
	font-weight: 400;
	color:white;
	background-color: #121212;
	display: inline-block;
	cursor: pointer;
	transition: all 0.35s;
	padding: 1rem;
	width: 100%;
	text-align: center;
	border: 2px solid #222222;
	box-sizing: border-box;
	margin-bottom: 1rem;
	font-family: monospace;
}

input[type="text"]:focus,
input[type="password"]:focus {
	outline: none;
}

#confirm-wrap {
	display: none;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

#confirm-wrap.show {
	display: block;
}

[type="checkbox"] + label {
	font-size: 1.25em;
	display: block;
	padding-left: 2rem;
	position: relative;
	line-height: 20px;
}
[type="checkbox"] {
  position: relative;
  left: 15px;
  top: -4px;
  z-index: 0;
  -webkit-appearance: none;
}
[type="checkbox"] + label::before {
  width: 20px;
  height: 20px;
  background-color: transparent;
	border: 1px solid white;
  display: block;
  content: "";
  z-index: 5;
  position: absolute;
	left: 0;
	top: 0;
}

input[type="checkbox"]:checked+label::before {
  background-color: #ff0034;
	box-shadow: inset 0px 0px 0px 3px #121212;
	border-color: #ff0034;
}

input[type="checkbox"]:checked+label {
	color: #ff0034;
}

[type="checkbox"] + label:hover,
[type="checkbox"]:hover {
	cursor: pointer;
}

#submit,
#upload {
	display: none;
	font-size: 1.25em;
	font-weight: 400;
	color: #eeeeee;
	background-color: #ff0034;
	cursor: pointer;
	transition: all 0.35s;
	padding: 1rem;
	width: 100%;
	text-align: center;
	border: 2px solid #ff0034;
	box-sizing: border-box;
	font-family: monospace;
	margin-top: 1rem;
}

#submit.login {
	display: block;
	background-color: #222222;
	border-color: #222222;
	margin-top: 0;
}

#submit:hover,
#submit:focus,
#upload:hover,
#upload:focus  {
	background-color: #121212;
	color: #ff0034;
	outline: none;
}

#submit.login:hover,
#submit.login:focus {
	color: #eeeeee;
}

#upload.show {
	display: block;
}

.error {
	color: #ff0034;
}

.loader-wrap {
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	margin-top: 1rem;
}

#loader {
	display: none;
}

#loader.show {
	display: flex;
}

.loader {
  display: block;
  width: 2rem;
  height: 2rem;
	text-align: center;
	box-sizing: border-box;
}
.loader:after {
  content: " ";
  display: block;
  width: calc(2rem - 8px);
  height: calc(2rem - 8px);
  margin: 0;
  border-radius: 50%;
  border: 4px solid #eeeeee;
  border-color: #eeeeee transparent #eeeeee transparent;
  animation: loader 1.2s linear infinite;
}
@keyframes loader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}