/**
 * General stylesheet
 * 
 * @author Dimas Pante <pante.com.br>
 */
:root {
  --main-color: #0C4B7D;
  --main-lighter-color: #3041c7;
  --main-darker-color: #151d66;
  --feature-color: #87C2EB;
  --feature-lighter-color: #a2d7fc;
  --feature-darker-color: #598fb5;
  --google-font: 'Rubik', sans-serif;
}

body {
  font-family: var(--google-font);
}

a {
  text-decoration: none;
}

a:focus,
a:hover {
  color: var(--main-color);
}

/* backgrounds  */
.bg-main {
  background-color: var(--main-color);
}
.bg-main-lighter {
  background-color: var(--main-lighter-color);
}
.bg-main-darker {
  background-color: var(--main-darker-color);
}
.bg-feature {
  background-color: var(--feature-color);
}
.bg-feature-lighter {
  background-color: var(--feature-lighter-color);
}
.bg-feature-darker {
  background-color: var(--feature-darker-color);
}

/* colors */
.color-main {
  color: var(--main-color);
}
.color-main-lighter {
  color: var(--main-lighter-color);
}
.color-main-darker {
  color: var(--main-darker-color);
}
.color-feature {
  color: var(--feature-color);
}
.color-feature-lighter {
  color: var(--feature-lighter-color);
}
.color-feature-darker {
  color: var(--feature-darker-color);
}
.text-pending {
  color: #e19200;
}

/* preloader */
#preloader {
  position: fixed;
  z-index: 99999999;
  background-color: #000;
  background-color: rgba(73,80,132,0.7);
}
#preloader:before {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  border: 6px solid #fff;
  border-top-color: var(--main-color);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: animate-preloader 1s linear infinite;
  animation: animate-preloader 1s linear infinite;
}
@-webkit-keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* layout */
.rounded-xl {
  border-radius: 1rem;
}
.rounded-xl-left {
  border-radius: 1rem 0 0 1rem;
}
.rounded-xl-right {
  border-radius: 0 1rem 1rem 0;
}
.togglePassword {
  cursor: pointer;
}
div:has(.form-control) {
  position: relative;
}
label.error {
  position: absolute;
  top: 100%;
  font-size: 0.7rem;
  color: red;
}
.more::after,
.less::after {
  content: '\ed91';
  color: red;
  display: inline-block;
  font-family: boxicons;
  position: absolute;
  margin-left: 5px;
  margin-top: 15px;
  font-size: 18px;
}
.more::after {
  content: '\eedb';
  color: green;
}
.sb-sidenav .sb-sidenav-menu .nav .sb-sidenav-menu-heading {
  font-size: 0.65rem;
}
.sb-sidenav-dark .sb-sidenav-menu .nav-link span {
  margin-left: 10px;
}
.alert-dismissible .btn-close.sm {
  padding: 0.85rem 1rem;
}
.label-400 label,
.label-400 optgroup {
  font-weight: 400;
}