body{
  overflow: auto;
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: Verdana;
  font-size: 16px;
  z-index: 0;
}

/* background */
#background div {
  position:fixed;
  left:-25vw;
  top:-25vh;
  height: 150vh;
  width: 150vw;
}

@keyframes rotate {
  0% {	transform: rotate(0deg) scale(1.9);		}
  25% {	transform: rotate(90deg) scale(2.2);	}
  50% {	transform: rotate(180deg) scale(1.9);	}
  75% {	transform: rotate(270deg) scale(2.2);	}
  100% {	transform: rotate(360deg) scale(1.9);	}
}
#background_gradient {
  background: rgb(75,24,169);
  background: -moz-radial-gradient(circle, rgba(75,24,169,1) 10%, rgba(138,24,169,1) 40%);
  background: -webkit-radial-gradient(circle, rgba(75,24,169,1) 10%, rgba(138,24,169,1) 40%);
  background: radial-gradient(circle, rgba(75,24,169,1) 10%, rgba(138,24,169,1) 40%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#4b18a9",endColorstr="#8a18a9",GradientType=1);
  z-index:-10;
}

#background_img {
  opacity: 0.3;
  background-image: url("../images/pattern.png");
  background-position: center;
  background-size: 80%;
  animation: rotate 120s infinite linear;
  z-index:-9;
}

#background_overlay {
  background: -moz-linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
  background: -webkit-linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
  z-index:-8;
}



#container {
  display:flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  width:100%;
  height:100%;
  text-align: center;
  padding: 0px;
}


#logo {
  order: 1;
}
#logo {
  width:800px;
  --max-w: 75vw;
  max-width: calc(var(--max-w)*0.75); /* keep aspect ratio. based on 800x600 image */ 
  flex-shrink: 1;
}
#logo img {
  width:100%;
}

@media screen and (min-width: 900px) {
  #logo {
    --max-w: 40vw;
  }
}

/* small landscape phones */
@media screen and (max-height: 500px) {
  #logo {
    width: 20vw;
  }
}

.header{
  height: 50px;
  width: 100%;
  text-align: center;
  order: 2;
}

.header div {
  float: left;
  color: #ff8000;
  font-size: 1em;
  width: 100%;
}

.admin {
float:right;
margin: 5px;
}

.login{
  flex-shrink: 0;
  flex-grow: 1;
  order: 3;
  z-index: 2;
  text-align: center;
  margin-bottom: 2rem;
}
.login input {
  font-size: 2rem;
  width:400px;
  max-width: 80%;
}

.login input[type=text]{
  background: transparent;
  border: 3px solid rgba(255,255,255,0.6);
  border-radius: 2px;
  color: #fff;
  font-weight: 400;
  padding: 4px;
  text-align: center;  
  border-top-style: hidden;
  border-right-style: hidden;
  border-left-style: hidden;
  border-bottom-style: groove;
  text-transform: uppercase;
}


.login input[type=submit]{
  margin-top: 2rem;
  padding: 0.4rem;
  background: rgba(255, 255, 255, 0);
  border: 3px solid rgba(255,255,255,0.6);
  cursor: pointer;
  border-radius: 15px;
  color: #a18d6c;
  font-weight: 400;
}

.login input[type=submit]:hover{
opacity: 0.8;
}

.login input[type=submit]:active{
opacity: 0.6;
}

.login input[type=text]:focus{
outline: none;
border: 3px solid rgba(255,255,255,0.9);
border-top-style: hidden;
border-right-style: hidden;
border-left-style: hidden;
border-bottom-style: groove;
}

.login input[type=password]:focus{
outline: none;
border: 1px solid rgba(255,255,255,0.9);
}

.login input[type=button]:focus{
outline: none;
}

::-webkit-input-placeholder{
 color: rgba(255,255,255,0.6);
}

::-moz-input-placeholder{
 color: rgba(255,255,255,0.6);
}
