.main {
    grid-template:
        'mainContent';
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

/**
*
*/
.login {
  background: rgb(2,0,36);
  background: linear-gradient(180deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%);
}
.login form {
  max-width: 400px;
  color: white;
  margin: 20px auto;
  display: grid;
  grid-template: 
    "title title"
    "icon username"
    "icon password"
    "icon submit" 
    ". ." / min-content 1fr;
    grid-template-rows: 60px 40px 40px 40px max-content;
    grid-gap: 10px;
}
.login form h2 {
grid-area: title;
}
.login form i {
    grid-area: icon;
    display: flex;
    justify-content: start;
    align-content: center;
    font-size: 4em;
    border-right: 3px solid white;
    padding: 10px;
}
.login form input {
grid-area: username;
  display: block;
  padding: 4px 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
  font-size: 1.2em;
  margin:0;
}
.login form input[type=password] {
grid-area: password;
}
.login form button {
    grid-area: submit;
  padding: 5px 10px;
  text-transform: uppercase;
  border-radius: 5px;
  border: 1px solid #ccc;
  width: 100%;
  font-size: 1.2em;
  margin: 0;
  font-weight: bold;
  cursor: pointer;
}

.login form input.error {
  border: 2px solid #850c0c;
  background: #ffbdbd;
  box-shadow: 0 0 15px rgba(255, 0, 0, 0.6);
}