html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

#applicationForm div .is-invalid, #a-phone-div.is-invalid {
  border: 1px solid #dc3545;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/></svg>");
  background-repeat: no-repeat;
  background-position: right calc(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
  border-radius: .25rem;
}

.ui-autocomplete {
  z-index: 99999999 !important;
}

/*Table*/

table th {
  border: 2px solid black;
  border-collapse: collapse;
  text-align: center;
  vertical-align: middle;
  background-color: lightgray !important;
}

td {
  border: 1px solid grey;
  font-size: smaller;
  vertical-align: middle;
}

.wi-data tr:nth-child(even) td {
  background-color: #f1f3f5;
}

/* Nav bar */

.dropdown a {
  display: block;
  padding: 0.5rem 0.5rem;
  color: #0d6efd;
  /*color: black;*/
  text-decoration: none;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
  background-color: white;
}

li a {
  color: #0d6efd !important;
}

.navbar-collapse ul li a:hover, a[class=navbar-brand]:hover {
  background-color: #dfdedc;
}

/* Steps */

body {
  font-family: 'Open Sans', sans-serif;
}

#applicationForm, #confirmation-page {
  max-width: 990px;
  background-color: #ffffff;
  margin: 40px auto;
  padding: 40px;
  box-shadow: 0px 6px 18px rgb(0 0 0 / 9%);
  border-radius: 12px;
}

  #applicationForm .form-header {
    gap: 5px;
    text-align: center;
    font-size: .9em;
  }

    #applicationForm .form-header .stepIndicator {
      position: relative;
      flex: 1;
      padding-bottom: 30px;
    }

      #applicationForm .form-header .stepIndicator.active {
        font-weight: 600;
      }

      #applicationForm .form-header .stepIndicator.finish {
        font-weight: 600;
        color: #009688;
      }

      #applicationForm .form-header .stepIndicator::before {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        z-index: 9;
        width: 20px;
        height: 20px;
        background-color: #d5efed;
        border-radius: 50%;
        border: 3px solid #ecf5f4;
      }

      #applicationForm .form-header .stepIndicator.active::before {
        background-color: #a7ede8;
        border: 3px solid #d5f9f6;
      }

      #applicationForm .form-header .stepIndicator.finish::before {
        background-color: #009688;
        border: 3px solid #b7e1dd;
      }

      #applicationForm .form-header .stepIndicator::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 8px;
        width: 100%;
        height: 3px;
        background-color: #f3f3f3;
      }

      #applicationForm .form-header .stepIndicator.active::after {
        background-color: #a7ede8;
      }

      #applicationForm .form-header .stepIndicator.finish::after {
        background-color: #009688;
      }

      #applicationForm .form-header .stepIndicator:last-child:after {
        display: none;
      }

  #applicationForm input:focus {
    border: 1px solid #009688;
    outline: 0;
  }

  #applicationForm .step {
    display: none;
  }

  #applicationForm .form-footer {
    overflow: auto;
    gap: 20px;
    justify-content: space-between;
    margin-top: 3em;
  }

    #applicationForm .form-footer button {
      background-color: #58b183;
      /*border: 1px solid #58b183 !important;*/
      color: #ffffff;
      border: none;
      padding: 6px 30px;
      font-size: 1em;
      cursor: pointer;
      border-radius: 5px;
      flex: 0;
      /*margin-top: 5px;*/
      white-space: nowrap;
    }

      #applicationForm .form-footer button:hover {
        opacity: 0.8;
      }

    #applicationForm .form-footer #prevBtn {
      background-color: #86b7fe;
      color: #fff;
    }


input[type="checkbox"] {
  background-color: blue;
}

/* Content */

hr.bold {
  border-top: 3px solid black;
  opacity: 1;
}

hr.bolder {
  border-top: 6px solid black;
  opacity: 1;
}

.popover {
  max-width: 50%; /* Max Width of the popover (depending on the container!) */
}

/* Modal window for confirmation number */

.modal-confirmation-number {
  max-width: 600px;
}

/* Floating label overlapping in textarea */

.form-floating > textarea.form-control:not(:-moz-placeholder-shown) ~ label {
  opacity: 1;
  color: rgba(0, 0, 0, 0.5);
  background-color: #fff;
  height: auto;
  padding: 0px;
  padding: 0px 0px 0px 10px;
  width: 100%;
  transform: scale(0.982) translateY(0.045rem) translateX(0.1rem);
  border-radius: 5px 0 0 0;
}

.form-floating > textarea.form-control:focus ~ label,
.form-floating > textarea.form-control:not(:placeholder-shown) ~ label,
.form-floating > textarea.form-select ~ label {
  opacity: 1;
  color: rgba(0, 0, 0, 0.5);
  background-color: #fff;
  height: auto;
  padding: 0px 0px 0px 10px;
  width: 100%;
  transform: scale(0.982) translateY(0.045rem) translateX(0.1rem);
  border-radius: 5px 0 0 0;
}

.form-floating > textarea.form-control:-webkit-autofill ~ label {
  opacity: 1;
  color: rgba(0, 0, 0, 0.5);
  background-color: #fff;
  height: auto;
  padding: 0px;
  padding: 0px 0px 0px 10px;
  width: 100%;
  transform: scale(0.982) translateY(0.045rem) translateX(0.1rem);
  border-radius: 5px 0 0 0;
}

/* Overlay loader */

#overlay {
  position: fixed;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.03); /* Semi-transparent background */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 3000; /* Ensure it is above other content */
}

.loader {
  width: 66px;
  height: 66px;
  display: grid;
  border-radius: 50%;
  -webkit-mask: radial-gradient(farthest-side,#0000 40%,#000 41%);
  background: linear-gradient(0deg,#766DF480 50%,#766DF4FF 0) center/4px 100%, linear-gradient(90deg,#766DF440 50%,#766DF4BF 0) center/100% 4px;
  background-repeat: no-repeat;
  animation: s3 1.5s infinite steps(12);
}

  .loader::before,
  .loader::after {
    content: "";
    grid-area: 1/1;
    border-radius: 50%;
    background: inherit;
    opacity: 0.915;
    transform: rotate(30deg);
  }

  .loader::after {
    opacity: 0.83;
    transform: rotate(60deg);
  }

@keyframes s3 {
  100% {
    transform: rotate(1turn)
  }
}
