html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

#container {
  min-height: 100%;
  position: relative;
}

#header {
  
}

#body {
  
}

#image_logo {
  width: min(60vw,300px);
  margin: auto;
  display: block;
  margin-bottom: 20px;
}

#inner_section {
  border-radius: 10px;
  border: 3px solid var(--primary-color);
  width: min(90vw,400px);
  margin: 0 auto;
  background: var(--primary-color-very-light);
}

#footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 80px;
  text-align: center;
}

#label_copyright {
  border: none;
  margin-bottom: 20px;
  display: block;
  color: #C0C0C0;
}

#version {
  text-align: right;
  font-size: 10px;
  margin-right: 5px;
  margin-top: 20px;
}

* {
  font-family: "Segoe UI",Arial,sans-serif;
}


#label_username, #label_password, #label_error, .label {
  font-weight: bold;
  display: block;
}

#label_error {
  color: red;
  padding-bottom: 10px;
  font-weight: bold;
  display: block;
}

#label_success {
  color: green;
  padding-bottom: 10px;
  font-weight: bold;
  display: block;
}


a {
  outline: none;
}

#checkbox_remember_me:hover {
  cursor: pointer;
}

.input_container {
  width: 100%;
  display: flex;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

#input_username {
  width: 100%;
  background-image: none;
  background-color: white;
  border: none;
  box-shadow: none;
}

#input_password {
  width: 100%;
  background-image: none;
  background-color: white;
  border: none;
  box-shadow: none;
}

.icon {
  padding: 11px;
  background-color: white;
}

.input-field {
  width: 100%;
  padding: 10px;
  outline: none;
  height:15px;
}

fieldset {
  border: none;
  width: 50%;
  margin: 0 auto;
}

#button_sign_in, .button {
  border-radius: 8px;
  background-color: #799d4e; /* light green */
  color: white;
  padding: 14px 20px;
  margin: 8px 0;
  border: none;
  cursor: pointer;
  width: 100%;
  display: block;
  opacity: 0.90;
}

  #button_sign_in:hover {
    opacity: 1.0;
  }

#footer {
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 25px;
  font-family: "Segoe UI",Arial,sans-serif;
  font-size: 13px;
  color: #676a6c;
}

.vsi-align-left {
  float: left !important;
  margin-left: 10px;
}

.vsi-align-center {
  text-align: center;
}

.vsi-align-right {
  float: right !important;
  margin-right: 10px;
}

.vsi-fill-parent {
  height: 100%;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}




/** Spinner start */
/* source: https://loading.io/css/*/

.lds-spinner {
    /* color: official; */
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

    .lds-spinner div {
        transform-origin: 40px 40px;
        animation: lds-spinner 1.2s linear infinite;
    }

        .lds-spinner div:after {
            content: " ";
            display: block;
            position: absolute;
            top: 3px;
            left: 37px;
            width: 6px;
            height: 18px;
            border-radius: 20%;
            background: #fff; /* this is the color of the spinner */
        }

        .lds-spinner div:nth-child(1) {
            transform: rotate(0deg);
            animation-delay: -1.1s;
        }

        .lds-spinner div:nth-child(2) {
            transform: rotate(30deg);
            animation-delay: -1s;
        }

        .lds-spinner div:nth-child(3) {
            transform: rotate(60deg);
            animation-delay: -0.9s;
        }

        .lds-spinner div:nth-child(4) {
            transform: rotate(90deg);
            animation-delay: -0.8s;
        }

        .lds-spinner div:nth-child(5) {
            transform: rotate(120deg);
            animation-delay: -0.7s;
        }

        .lds-spinner div:nth-child(6) {
            transform: rotate(150deg);
            animation-delay: -0.6s;
        }

        .lds-spinner div:nth-child(7) {
            transform: rotate(180deg);
            animation-delay: -0.5s;
        }

        .lds-spinner div:nth-child(8) {
            transform: rotate(210deg);
            animation-delay: -0.4s;
        }

        .lds-spinner div:nth-child(9) {
            transform: rotate(240deg);
            animation-delay: -0.3s;
        }

        .lds-spinner div:nth-child(10) {
            transform: rotate(270deg);
            animation-delay: -0.2s;
        }

        .lds-spinner div:nth-child(11) {
            transform: rotate(300deg);
            animation-delay: -0.1s;
        }

        .lds-spinner div:nth-child(12) {
            transform: rotate(330deg);
            animation-delay: 0s;
        }

@keyframes lds-spinner {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/** Spinner end */



.vsiLoginThinkingContainer {
    grid-area: 1/1; /* done so this container renders on top of the form */
    background: rgba(0, 0, 0, 0.5);
    z-index: 10; /* done so this displays over the text fields and button */
    border-radius: 7px; /* must be 3px less than inner_section's  since inner_section's border is 3px wide */
    
    /* Done to display the loading icon in the center */
    display: flex;
    align-items: center;
    justify-content: center;
}

