/* :root {
   --primary-color: rgb(11, 78, 179);
 }

 *,
 *::before,
 *::after {
   box-sizing: border-box;
 }
*/
.vbox-overlay {
   z-index: 99998;
}
.vbox-child {
   background-color: transparent !important;
   box-shadow: none !important;
}
.d-none {
   display: none;
}
.formulario-registro {
   font-family: Montserrat, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   margin: 0;
   display: grid;
   place-items: center;
   min-height: 100%;
   color: #3c3c3c;
}
/* Global Stylings */
.formulario-registro h1 {
   font-size: 2rem;
   color: #3c3c3c;
}
.formulario-registro label {
   display: block;
   margin-bottom: 0.2rem;
   font-style: italic;
   font-weight: 600;
   font-size: 15px;
}

.formulario-registro input, .formulario-registro textarea, .formulario-registro select {
   display: block;
   width: 100%;
   padding: 0.5rem 0.75rem;
   border: 1px solid #ccc;
   border-radius: 0.25rem;
   font-size: 15px;
   background-color: #fff;
   resize: vertical;
   line-height: 1;
}

.formulario-registro .width-50 {
   width: 50%;
}

.formulario-registro .ml-auto {
   margin-left: auto;
}

.formulario-registro .text-center {
   text-align: center;
}

/* Progressbar */
.formulario-registro .progressbar {
   position: relative;
   display: flex;
   justify-content: space-between;
   counter-reset: step;
   margin: 2rem 0 4rem;
}

.formulario-registro .progressbar::before,
.formulario-registro .progress {
   content: "";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   height: 4px;
   width: 100%;
   background-color: #dcdcdc;
   z-index: 0;
}

.formulario-registro .progress {
   background-color: rgb(11, 78, 179);
   width: 0%;
   transition: 0.3s;
}

.formulario-registro .progress-step {
   width: 2.1875rem;
   height: 2.1875rem;
   background-color: #dcdcdc;
   border-radius: 50%;
   display: flex;
   justify-content: center;
   align-items: center;
   z-index: 1;
}

.formulario-registro .progress-step::before {
   counter-increment: step;
   content: counter(step);
}

.formulario-registro .progress-step::after {
   content: attr(data-title);
   position: absolute;
   top: calc(100% + 0.5rem);
   font-size: 0.85rem;
   color: #666;
}

.formulario-registro .progress-step-active {
   background-color: rgb(11, 78, 179);
   color: #f3f3f3;
}

/* Form */
.formulario-registro .form {
   width: 70%;
   margin: 0;
   border: 1px solid #ccc;
   border-radius: 0.35rem;
   padding: 1.5rem;
   background-color: #fff;
}

.formulario-registro .container-return .return {
   color: #fff;
   padding: 5px 10px;
   border-radius: 5px;
   text-align: center;
   border: 1px solid #c3c3c3;
}
.formulario-registro .container-return .return-success {
   border-color: #008d4c;
   background-color: #00a65a;
}
.formulario-registro .container-return .return-info {
   border-color: #1f75a6;
   background-color: #357ca5;
}
.formulario-registro .container-return .return-error {
   border-color: #d73925;
   background-color: #dd4b39;
}

.formulario-registro .form-step {
   display: none;
   transform-origin: top;
   animation: animate 0.5s;
}

.formulario-registro .form-step-active {
   display: block;
}

.formulario-registro .form-group {
   margin: 0.5rem 0;
}

.formulario-registro .input-group {
   display: flex;
   align-content: center;
   justify-content: start;
}

.formulario-registro .input-group input.input-password {
   border-right: none;
   border-top-right-radius: 0;
   border-bottom-right-radius: 0;
}

.formulario-registro .input-group input:active, .formulario-registro .input-group input:focus {
   border-width: 2px;
}

.formulario-registro .input-group .btn-mostrar {
   color: #666;
   background-color: #fff;
   border: 1px solid #ccc;
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
   height: 100%;
   width: 36px;
   padding: 0;
}
.formulario-registro .input-group .btn-mostrar:hover {
   box-shadow: none;
   border-width: 2px;
}

/* CAMBIOS SELECT2 */
.formulario-registro .select2-container {
   display: block;
   width: 100% !important;
   padding: 0;
   font-size: 15px;
   background-color: #fff;
   resize: vertical;
   line-height: 1;
}
.select2-container--default .select2-selection--single {
   border: none;
   border-radius: unset;
   height: auto;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
   padding: 0;
   line-height: 1;
   padding: 0.5rem 0.75rem;
   border: 1px solid #ccc;
   border-radius: 0.25rem;
}
.select2-container--open .select2-selection--single .select2-selection__rendered {
   border-bottom-left-radius: 0;
   border-bottom-right-radius: 0;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
   top: 3px;
}
.select2-container--default .select2-results > .select2-results__options {
   margin: 0;
   font-size: 14px;
}
.select2-results__option {
   padding: 4px;
}

.select2-dropdown {
   z-index: 99999;
   border-color: #ccc;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
   border-color: #ccc;
   border-radius: 5px;
}
/* FIN CAMBIOS SELECT2 */

.formulario-registro .form-group-error { 
   color: #dd4b39;
}
.formulario-registro .form-group-error .input-group input, .formulario-registro .form-group-error .input-group .btn-mostrar { 
   border-color: #dd4b39;
}
.formulario-registro .form-group-error .help-block { 
   font-size: 13px;
   font-style: italic;
}
.formulario-registro .form-group-success { 
   color: #00a65a;
}
.formulario-registro .form-group-success .input-group input, .formulario-registro .form-group-success .input-group .btn-mostrar { 
   border-color: #00a65a;
}
.formulario-registro .form-group-success .help-block { 
   font-size: 13px;
   font-style: italic;
}

@keyframes animate {
   from {
      transform: scale(1, 0);
      opacity: 0;
   }
   to {
      transform: scale(1, 1);
      opacity: 1;
   }
}

/* Button */
.formulario-registro .form-step-footer {
   float: right;
   display: block;
   margin: 1rem 0 0;
}
.formulario-registro .btns-group {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 1.5rem;
}
.formulario-registro .btn {
   padding: 0.75rem;
   display: block;
   text-decoration: none;
   background-color: rgb(11, 78, 179);
   color: #f3f3f3;
   text-align: center;
   border-radius: 0.25rem;
   cursor: pointer;
   transition: 0.3s;
}
.formulario-registro .btn-next, .formulario-registro .btn-submit {
   width: auto;
   padding: 0.5rem 2.5rem;
}
.formulario-registro .btn:hover {
   box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgb(11, 78, 179);
}

.formulario-registro .container-loading {
   position: absolute;
   width: 90%;
   height: 100%;
   padding: 1.5rem;
   background-color: #c3c3c3b5;
   z-index: 1;
   display: none;
   flex-direction: column;
   align-items: center;
   justify-content: center;
}

@media (max-width:1280px) {
   .formulario-registro .form {
      width: 90%;
   }
}
@media (max-width:991px) {
   .formulario-registro h1 {
      font-size: 1.7rem;
   }
}
@media (max-width:991px) {
   .formulario-registro h1 {
      padding: 0 60px;
   }
}
@media (max-width:512px) {
   .formulario-registro h1 {
      padding: 0;
   }
}