@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

div.main {
    background: #3b3a85; /* Dark purple */
    background: -moz-radial-gradient(
      center,
      ellipse cover,
      #3b3a85 1%,
      #040041 100%
    );
    background: -webkit-gradient(
      radial,
      center center,
      0px,
      center center,
      100%,
      color-stop(1%, #3b3a85),
      color-stop(100%, #040041)
    );
    background: -webkit-radial-gradient(
      center,
      ellipse cover,
      #3b3a85 1%,
      #040041 100%
    );
    background: -o-radial-gradient(
      center,
      ellipse cover,
      #3b3a85 1%,
      #040041 100%
    );
    background: -ms-radial-gradient(
      center,
      ellipse cover,
      #3b3a85 1%,
      #040041 100%
    );
    background: radial-gradient(
      ellipse at center,
      #3b3a85 1%,
      #040041 100%
    );
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3b3a85', endColorstr='#040041',GradientType=1);
    height: calc(100vh);
    width: 100%;
}

[class*="fontawesome-"]:before {
  font-family: "FontAwesome", sans-serif;
}

/* ---------- GENERAL ---------- */

* {
  box-sizing: border-box;
  margin: 0px auto;

  &:before,
  &:after {
    box-sizing: border-box;
  }
}

body {
  color: #606468;
  font: 87.5%/1.5em "Open Sans", sans-serif;
  margin: 0;
}

a {
  color: #eee;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

input {
  border: none;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5em;
  padding: 0;
  -webkit-appearance: none;
}

p {
  line-height: 1.5em;
}

.clearfix {
  *zoom: 1;

  &:before,
  &:after {
    content: " ";
    display: table;
  }

  &:after {
    clear: both;
  }
}

.container {
  left: 50%;
  position: fixed;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* ---------- LOGIN ---------- */

#login form {
  width: 100%;
  max-width: 300px;
}

#login,
.logo {
  display: block;
  width: 100%;
}

#login {
  border-right: none;
  padding: 0;
  width: 100%;
}

.logo {
  margin-bottom: 20px;
}

#login form span.icon {
  background-color: #fff;
  border-radius: 3px 0px 0px 3px;
  color: #000;
  display: block;
  float: left;
  height: 50px;
  font-size: 24px;
  line-height: 50px;
  text-align: center;
  width: 50px;
  border: 1px solid #dddddd;
}

#login form input {
  height: 50px;
}
fieldset {
  padding: 0;
  border: 0;
  margin: 0;
}
#login form input[type="text"],
input[type="password"] {
  background-color: #fff;
  border-radius: 0px 3px 3px 0px;
  color: #000;
  margin-bottom: 1em;
  padding: 0 16px;
  width: 200px;
  border: 1px solid #dddddd;
}

#login form input[type="submit"] {
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  background-color: #000000;
  color: #eee;
  font-weight: bold;
  /* margin-bottom: 2em; */
  text-transform: uppercase;
  padding: 5px 10px;
  height: 30px;
}

#login form input[type="submit"] {
    background-color: #3b3a85;
    color: #eee;
    font-weight: bold;
    text-transform: uppercase;
    padding: 5px 10px;
    height: 30px;
}

#login form input[type="submit"]:hover {
    background-color: #040041;
}

.middle {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 400px;
  padding: 2rem;
  border-radius: 1.5rem;
  background-color: #f8f9fa;
  box-shadow: 0 .15rem 1.75rem 0 rgba(58, 59, 69, .15) !important;
}
