
form div.required label.col-form-label:after {

font-family: "Font Awesome 5 Free";
content: "\a0\f069";
display: inline-block;
padding-right: 3px;
vertical-align: middle;
font-weight: 900;
color:red;
font-size: x-small;
}
form div.required label.form-label:after {

  /* font-family: "Font Awesome 5 Free"; */
  content: "*";
  display: inline-block;
  padding-right: 3px;
  vertical-align: super;
  font-weight: 900;
  color:red;
  /* font-size: x-small; */
  }
.bs-canvas-overlay {
opacity: 0.85;
z-index: 1100;
}
.grid-view td {
   white-space: unset;
}
.bs-canvas {
   top: 0;
   z-index: 1110;
   overflow-x: hidden;
   overflow-y: auto;
   width: 330px;
   transition: margin .4s ease-out;
   -webkit-transition: margin .4s ease-out;
   -moz-transition: margin .4s ease-out;
   -ms-transition: margin .4s ease-out;
}

.bs-canvas-right {
   right: 0;
   margin-right: -330px;
}
.pulse {
   overflow: visible;
   position: relative;
   z-index: 999;
}
.pulse:before {
   content: '';
   display: block;
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   background-color: inherit;
   border-radius: inherit;
   transition: opacity .3s, transform .3s;
   animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
       z-index: -1;
}
@keyframes pulse-animation {
   0% {
       opacity: 1;
       transform: scale(1);
   }
   50% {
       opacity: 0;
       transform: scale(1.05);
   }
   100% {
       opacity: 0;
       transform: scale(1.05);
   }
}
.blink_me {
   animation: blinker 2s linear infinite;
 }
 
 @keyframes blinker {
   50% {
     opacity: 0;
   }
 }
 .invalid-feedback:not(:empty) { display:block; }

.model-value{
  padding-left: 25px;
  padding-right: 50px;
  padding-top: 5px;
  border-bottom: #ddd 1px dotted;
  background-color: #fafafa;
  margin-left: 5px;
  flex: 1;
  margin-bottom: 15px;
}

form div.row {
    padding-right: 15px;
    padding-left: 15px;
  }

.fixed-bottom {
   position: fixed;
   right: 0;
   bottom: 0;
   left: auto;
   z-index: 1030;
}
.btn-circle.btn-xl {
  width: 75px;
  height: 75px;
  padding: 10px 16px;
  font-size: 38px;
  line-height: 1.33;
  border-radius: 35px;
 }

 .callout {
  /* padding: 1.25rem; */
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  border-left: 1px solid #e9ecef;
  border-left-width: .25rem;
  border-radius: .25rem;
}
.callout-info {
  border-left-color: #5bc0de;
}

 .text-purple {
   color: #b02db0 !important;
}
 .bg-purple {
   background-color: #b02db0 !important;
}
 .btn-purple {
   color: #fff !important;
   background-color: #b02db0 !important; 
   border-color: #b02db0 !important;
}
 .btn-outline-purple {
   color: #b02db0 !important;
   border-color: #b02db0 !important;
}

.border-purple {
   border-color: #b02db0!important;
}

.btn-outline-purple:hover {
   color: #fff !important;
   background-color: #771e77 !important;
   border-color: #771e77 !important;
 }

.btn-purple:focus,
.btn-purple:active,
.btn-purple:hover {
  background-color: #771e77 !important;
  border-color: #771e77 !important;
}
/*  */
 .text-28C7BE {
   color: #28C7BE !important;
}
 .bg-28C7BE {
   background-color: #28C7BE !important;
}
 .btn-28C7BE {
   color: #fff !important;
   background-color: #28C7BE !important; 
   border-color: #28C7BE !important;
}
 .btn-outline-28C7BE {
   color: #28C7BE !important;
   border-color: #28C7BE !important;
}

.border-28C7BE {
   border-color: #28C7BE!important;
}

.btn-outline-28C7BE:hover {
   color: #fff !important;
   background-color: #28C7BE !important;
   border-color: #28C7BE !important;
 }

.btn-28C7BE:focus,
.btn-28C7BE:active,
.btn-28C7BE:hover {
  background-color: #28C7BE !important;
  border-color: #28C7BE !important;
}

/*  */
 .text-267394 {
   color: #267394 !important;
}
 .bg-267394 {
   background-color: #267394 !important;
}
 .btn-267394 {
   color: #fff !important;
   background-color: #267394 !important; 
   border-color: #267394 !important;
}
 .btn-outline-267394 {
   color: #267394 !important;
   border-color: #267394 !important;
}

.border-267394 {
   border-color: #267394!important;
}

.btn-outline-267394:hover {
   color: #fff !important;
   background-color: #267394 !important;
   border-color: #267394 !important;
 }

.btn-267394:focus,
.btn-267394:active,
.btn-267394:hover {
  background-color: #267394 !important;
  border-color: #267394 !important;
}

/*  */
 .text-F9883C {
   color: #F9883C !important;
}
 .bg-F9883C {
   background-color: #F9883C !important;
}
 .btn-F9883C {
   color: #fff !important;
   background-color: #F9883C !important; 
   border-color: #F9883C !important;
}
 .btn-outline-F9883C {
   color: #F9883C !important;
   border-color: #F9883C !important;
}

.border-F9883C {
   border-color: #F9883C!important;
}

.btn-outline-F9883C:hover {
   color: #fff !important;
   background-color: #F9883C !important;
   border-color: #F9883C !important;
 }

.btn-F9883C:focus,
.btn-F9883C:active,
.btn-F9883C:hover {
  background-color: #F9883C !important;
  border-color: #F9883C !important;
}
/*  */
 .text-CBE1FF {
   color: #CBE1FF !important;
}
 .bg-CBE1FF {
   background-color: #CBE1FF !important;
}
 .btn-CBE1FF {
   color: #fff !important;
   background-color: #CBE1FF !important; 
   border-color: #CBE1FF !important;
}
 .btn-outline-CBE1FF {
   color: #CBE1FF !important;
   border-color: #CBE1FF !important;
}

.border-CBE1FF {
   border-color: #CBE1FF!important;
}

.btn-outline-CBE1FF:hover {
   color: #fff !important;
   background-color: #CBE1FF !important;
   border-color: #CBE1FF !important;
 }

.btn-CBE1FF:focus,
.btn-CBE1FF:active,
.btn-CBE1FF:hover {
  background-color: #CBE1FF !important;
  border-color: #CBE1FF !important;
}


 .text-orange {
   color: #fd852a !important;
}
 .bg-orange {
   background-color: #fd852a !important;
}
 .btn-orange {
   color: #fff !important;
   background-color: #fd852a !important; 
   border-color: #fd852a !important;
}
 .btn-outline-orange {
   color: #fd852a !important;
   border-color: #fd852a !important;
}

.border-orange {
   border-color: #fd852a!important;
}

.btn-outline-orange:hover {
   color: #fff !important;
   background-color: #fd852a !important;
   border-color: #fd852a !important;
 }

.btn-orange:focus,
.btn-orange:active,
.btn-orange:hover {
  background-color: #fd852a !important;
  border-color: #fd852a !important;
}

.text-brown {
   color: #b67f30 !important;
}
 .bg-brown {
   background-color: #b67f30 !important;
}
 .btn-brown {
   color: #fff !important;
   background-color: #b67f30 !important; 
   border-color: #b67f30 !important;
}
 .btn-outline-brown {
   color: #b67f30 !important;
   border-color: #b67f30 !important;
}

.border-brown {
   border-color: #b67f30!important;
}

.btn-outline-brown:hover {
   color: #fff !important;
   background-color: #92672c !important;
   border-color: #92672c !important;
 }

.btn-brown:focus,
.btn-brown:active,
.btn-brown:hover {
  background-color: #92672c !important;
  border-color: #92672c !important;
}
.bell{
   /* display:block; */
   /* width: 40px; */
   /* height: 40px; */
   /* font-size: 40px; */
   /* margin:50px auto 0; */
   color: #9e9e9e;
   -webkit-animation: ring 4s .7s ease-in-out infinite;
   -webkit-transform-origin: 50% 4px;
   -moz-animation: ring 4s .7s ease-in-out infinite;
   -moz-transform-origin: 50% 4px;
   animation: ring 4s .7s ease-in-out infinite;
   transform-origin: 50% 4px;
   color: #fff;
   }

   @-webkit-keyframes ring {
   0% { -webkit-transform: rotateZ(0); }
   1% { -webkit-transform: rotateZ(30deg); }
   3% { -webkit-transform: rotateZ(-28deg); }
   5% { -webkit-transform: rotateZ(34deg); }
   7% { -webkit-transform: rotateZ(-32deg); }
   9% { -webkit-transform: rotateZ(30deg); }
   11% { -webkit-transform: rotateZ(-28deg); }
   13% { -webkit-transform: rotateZ(26deg); }
   15% { -webkit-transform: rotateZ(-24deg); }
   17% { -webkit-transform: rotateZ(22deg); }
   19% { -webkit-transform: rotateZ(-20deg); }
   21% { -webkit-transform: rotateZ(18deg); }
   23% { -webkit-transform: rotateZ(-16deg); }
   25% { -webkit-transform: rotateZ(14deg); }
   27% { -webkit-transform: rotateZ(-12deg); }
   29% { -webkit-transform: rotateZ(10deg); }
   31% { -webkit-transform: rotateZ(-8deg); }
   33% { -webkit-transform: rotateZ(6deg); }
   35% { -webkit-transform: rotateZ(-4deg); }
   37% { -webkit-transform: rotateZ(2deg); }
   39% { -webkit-transform: rotateZ(-1deg); }
   41% { -webkit-transform: rotateZ(1deg); }

   43% { -webkit-transform: rotateZ(0); }
   100% { -webkit-transform: rotateZ(0); }
   }

   @-moz-keyframes ring {
   0% { -moz-transform: rotate(0); }
   1% { -moz-transform: rotate(30deg); }
   3% { -moz-transform: rotate(-28deg); }
   5% { -moz-transform: rotate(34deg); }
   7% { -moz-transform: rotate(-32deg); }
   9% { -moz-transform: rotate(30deg); }
   11% { -moz-transform: rotate(-28deg); }
   13% { -moz-transform: rotate(26deg); }
   15% { -moz-transform: rotate(-24deg); }
   17% { -moz-transform: rotate(22deg); }
   19% { -moz-transform: rotate(-20deg); }
   21% { -moz-transform: rotate(18deg); }
   23% { -moz-transform: rotate(-16deg); }
   25% { -moz-transform: rotate(14deg); }
   27% { -moz-transform: rotate(-12deg); }
   29% { -moz-transform: rotate(10deg); }
   31% { -moz-transform: rotate(-8deg); }
   33% { -moz-transform: rotate(6deg); }
   35% { -moz-transform: rotate(-4deg); }
   37% { -moz-transform: rotate(2deg); }
   39% { -moz-transform: rotate(-1deg); }
   41% { -moz-transform: rotate(1deg); }

   43% { -moz-transform: rotate(0); }
   100% { -moz-transform: rotate(0); }
   }

   @keyframes ring {
   0% { transform: rotate(0); }
   1% { transform: rotate(30deg); }
   3% { transform: rotate(-28deg); }
   5% { transform: rotate(34deg); }
   7% { transform: rotate(-32deg); }
   9% { transform: rotate(30deg); }
   11% { transform: rotate(-28deg); }
   13% { transform: rotate(26deg); }
   15% { transform: rotate(-24deg); }
   17% { transform: rotate(22deg); }
   19% { transform: rotate(-20deg); }
   21% { transform: rotate(18deg); }
   23% { transform: rotate(-16deg); }
   25% { transform: rotate(14deg); }
   27% { transform: rotate(-12deg); }
   29% { transform: rotate(10deg); }
   31% { transform: rotate(-8deg); }
   33% { transform: rotate(6deg); }
   35% { transform: rotate(-4deg); }
   37% { transform: rotate(2deg); }
   39% { transform: rotate(-1deg); }
   41% { transform: rotate(1deg); }

   43% { transform: rotate(0); }
   100% { transform: rotate(0); }
}

.form-label-group {
   position: relative;
   margin-bottom: 1rem;
 }
 
 .form-label-group input,
 .form-label-group label {
   height: 3.125rem;
   padding: .75rem;
 }
 
 .form-label-group label {
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 100%;
   margin-bottom: 0; /* Override default `<label>` margin */
   line-height: 1.5;
   color: #495057;
   pointer-events: none;
   cursor: text; /* Match the input under the label */
   border: 1px solid transparent;
   border-radius: .25rem;
   transition: all .1s ease-in-out;
 }
 
 .form-label-group input::-webkit-input-placeholder {
   color: transparent;
 }
 
 .form-label-group input::-moz-placeholder {
   color: transparent;
 }
 
 .form-label-group input:-ms-input-placeholder {
   color: transparent;
 }
 
 .form-label-group input::-ms-input-placeholder {
   color: transparent;
 }
 
 .form-label-group input::placeholder {
   color: transparent;
 }
 
 .form-label-group input:not(:-moz-placeholder-shown) {
   padding-top: 1.25rem;
   padding-bottom: .25rem;
 }
 
 .form-label-group input:not(:-ms-input-placeholder) {
   padding-top: 1.25rem;
   padding-bottom: .25rem;
 }
 
 .form-label-group input:not(:placeholder-shown) {
   padding-top: 1.25rem;
   padding-bottom: .25rem;
 }
 
 .form-label-group input:not(:-moz-placeholder-shown) ~ label {
   padding-top: .25rem;
   padding-bottom: .25rem;
   font-size: 12px;
   color: #777;
 }
 
 .form-label-group input:not(:-ms-input-placeholder) ~ label {
   padding-top: .25rem;
   padding-bottom: .25rem;
   font-size: 12px;
   color: #777;
 }
 
 .form-label-group input:not(:placeholder-shown) ~ label {
   padding-top: .25rem;
   padding-bottom: .25rem;
   font-size: 12px;
   color: #777;
 }
 
 .form-label-group input:-webkit-autofill ~ label {
   padding-top: .25rem;
   padding-bottom: .25rem;
   font-size: 12px;
   color: #777;
 }
 
 /* Fallback for Edge
 -------------------------------------------------- */
 @supports (-ms-ime-align: auto) {
   .form-label-group {
     display: -ms-flexbox;
     display: flex;
     -ms-flex-direction: column-reverse;
     flex-direction: column-reverse;
   }
 
   .form-label-group label {
     position: static;
   }
 
   .form-label-group input::-ms-input-placeholder {
     color: #777;
   }
 }

 .separator {
  display: flex;
  align-items: center;
  text-align: center;
}

.separator::before,
.separator::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid #000;
}

.separator:not(:empty)::before {
  margin-right: .25em;
}

.separator:not(:empty)::after {
  margin-left: .25em;
}