:root {
    --main-background: #343a40;
    --input-border: rgba(54, 150, 219, 0.4);
    --input-border-active: rgba(54, 150, 219, 0.7);
    --input-color: rgba(255, 255, 255, 0.7);
    --input-color-active: rgba(255, 255, 255, 0.7);
    --input-icon-color: rgba(54, 150, 219, .6);
    --input-icon-color-active: rgba(54, 150, 219, 1);
    --button-main-background: #3697db;
    --button-main-background-active: #4aabf0;
    --button-main-color: rgba(255, 255, 255, .9);
    --text-on-background-color: rgba(255, 255, 255, 0.7); }

html, body {
    font-family: 'Roboto', sans-serif;
    color: var(--text-on-background-color);
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    flex-direction: column;
    font-weight: 100;
    scrollbar-color: var(--button-main-background) var(--main-background);
    scrollbar-width: thin;
}

html::-webkit-scrollbar, body::-webkit-scrollbar {
    width: 7px;
}

html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb {
    background: var(--button-main-background);
}

html::-webkit-scrollbar-track, body::-webkit-scrollbar-track {
    background: var(--main-background);
}

body {
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-image: url(Applications/Backend/img/bg.svg);
}

  footer {
    align-self: flex-end; }
    footer li {
      display: inline-block;
      padding: 1rem; }

  main {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 90%;
    max-width: 800px; }
    main article {
      background: inherit;
      padding: 0;
      margin: 0;
      font-size: inherit;
      color: inherit; }

  #login-container {
    width: 90%;
    max-width: 300px;
    margin: 0 auto; }
    #login-container label {
      color: rgba(255, 255, 255, 0.7); }

  #login-logo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 185px;
    text-align: center;
    margin-bottom: 10%; }
    #login-logo img {
      animation: pulse 1.5s ease infinite alternate;
      width: 60%; }

  @keyframes pulse {
    0% {
      width: 60%; }
    30%, 100% {
      width: 65%; } }
  header {
    text-align: left;
    margin-bottom: 1rem; }
    header h1 {
      font-weight: 300; }

  form {
    margin-bottom: 10%; }
    form label {
      text-shadow: none;
      color: var(--text-on-background-color);
      cursor: pointer; }

  form select,
  form input[type=text],
  form input[type=password] {
    margin-bottom: .5rem;
    background: rgba(0, 0, 0, 0.15);
    border: 1px solid var(--input-border);
    text-shadow: none;
    box-shadow: none;
    color: var(--text-on-background-color);
    width: 100%;
    transition: border 500ms ease-out;
    outline: none;
    box-sizing: border-box;
    line-height: 1rem; }

  .inputWithIcon {
    position: relative; }
    .inputWithIcon .frontIcon {
      color: var(--input-icon-color);
      font-size: 1rem;
      position: absolute;
      left: 0;
      top: 0;
      padding: .65rem; }
    .inputWithIcon .endIcon {
      color: var(--input-icon-color);
      font-size: 1rem;
      position: absolute;
      right: 0;
      top: 0;
      padding: .65rem; }
    .inputWithIcon input[type="text"], .inputWithIcon input[type="password"] {
      padding-left: 2.5rem; }

  form input[type=text]:active, form input[type=text]:focus,
  form input[type=password]:active, form input[type=password]:focus {
    border: 1px solid var(--input-border-active);
    color: var(--text-on-background-color); }

  form input[type=text]:active ~ .frontIcon, form input[type=text]:focus ~ .frontIcon,
  form input[type=password]:active ~ .frontIcon, form input[type=password]:focus ~ .frontIcon,
  form input[type=text]:active ~ .endIcon, form input[type=text]:focus ~ .endIcon,
  form input[type=password]:active ~ .endIcon, form input[type=password]:focus ~ .endIcon {
    color: var(--input-icon-color-active); }

  form input[type=text] ~ .endIcon, form input[type=text] ~ .endIcon,
  form input[type=password] ~ .endIcon, form input[type=password] ~ .endIcon {
    cursor: pointer; }

  form input[type=submit] {
    width: 100%;
    background-color: var(--button-main-background);
    border: none;
    text-shadow: none;
    box-shadow: none;
    color: var(--button-main-color);
    cursor: pointer;
    transition: background-color 500ms ease-out; }

  form input[type=submit]:hover,
  form input[type=submit]:focus {
    background-color: var(--button-main-background-active);
    border: none;
    text-shadow: none;
    box-shadow: none; }

  /* Only this part below is different from the login page */
  #below-form {
    margin-top: 1rem;
    text-align: center; }
    #below-form a {
      padding-bottom: .5rem;
      cursor: pointer;
      transition: border-bottom 100ms ease-out; }
    #below-form a:hover,
    #below-form a:focus {
      color: rgba(255, 255, 255, 0.8);
      border-bottom: 1px solid rgba(255, 255, 255, 0.6); }
