:root {
    /* Color */
    --primary-color:            #192075;
    --contrast-primary-color:   #FDFDFD;
    --secondary-color:          #68C2DD;
    --black-color:              #010101;

    /* Padding */
    --padding:                    .5rem;
    --padding-1:                  1rem;
    --padding-2:                  2rem;
    --padding-3:                  3rem;
    --padding-4:                  4rem;
    --padding-5:                  5rem;

    /* Margin */
    --margin:                     .5rem;
    --margin-1:                   1rem;
    --margin-2:                   2rem;
    --margin-3:                   3rem;
    --margin-4:                   4rem;
    --margin-5:                   5rem;

    /* Fuente */
    --bold:                       bold;
    --semibold:                   600;
    
    --font-16:                    1rem;
    --font-sm:                    1.25rem;
    --font-md:                    1.5rem;
    --font-md-2:                  3rem;
    --font-lg:                    4rem;
}

* {
    padding: 0;
    margin: 0;
    font-family: 'Montserrat', sans-serif !important;
}

body {
    padding: 0;
    margin: 0;
}

/**
* Creamos nuestras propias clases
*/

.input-label {
    font-weight: var(--semibold) !important;
    color: var(--black-color);
}

.primary-link {
    color: var(--primary-color);
    cursor: pointer;
    text-decoration: none;
    font-weight: var(--bold);
}

.primary-link:hover {
    color: var(--primary-color);
    opacity: 0.9;
}

.flex-1 {flex: 1;}

.full-page {
    width: 100%;
    height: 100vh;
    padding: var(--padding-4);
}

.logo-sm {max-height: 5rem;}

.logo-xs {max-height: 20rem;}

.img-fluid {width: 100%; height: 100%;}

.font-lg {font-size: var(--font-lg);}
.font-md {font-size: var(--font-md);}
.font-sm {font-size: var(--font-sm);}
.font-16 {font-size: var(--font-16);}

.icon-md {height: 1.8rem; width: 1.8rem;;}
.icon-sm {height: 1.2rem; width: 1.2rem;;}
.icon-xs {height: .7rem; width: 1.289rem;}

.text-normal {font-weight: normal !important;}

.pointer {cursor: pointer;}

/* Títulos y subtítulos */
h1.title {
    color: var(--primary-color);
    font-weight: 600;
    font-size: var(--font-lg);
}

h1.header-title {
    color: var(--primary-color);
    font-weight: 600;
    font-size: var(--font-md-2);
}

p.paragraph {
    color: var(--black-color);
    font-size: var(--font-md);
}

/* Fonts */
.font-regular{
    font-family: 'Monserrat-Regular', sans-serif !important;
}
.font-medium{
    font-family: 'Monserrat-Medium', sans-serif !important; 
    font-weight: 500 !important;
}

/* Colors */
.font-black{
    color: var(--black-color);
}

/**
* Modificamos las clases de bootstrap
*/

/* Botones */

.btn {
    min-width: 9rem;
}

.btn-primary {
    background-color: var(--primary-color) !important;
    color: var(--contrast-primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    font-weight: var(--bold);
    border-radius: .5rem;
}

.btn-primary:hover {
    background-color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    opacity: 0.9;
}

.btn-secondary {
    background-color: var(--contrast-primary-color) !important;
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    font-weight: var(--bold);
    border-radius: .5rem;
}

.btn-secondary:hover {
    background-color: var(--contrast-primary-color) !important;
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    opacity: 0.9;
}

.btn-rounded {
    border-radius: 2rem;
}

/* Margenes */

.mt-custom-5 {margin-top: var(--margin) !important;}
.mt-1 {margin-top: var(--margin-1) !important;}
.mt-2 {margin-top: var(--margin-2) !important;}
.mt-3 {margin-top: var(--margin-3) !important;}
.mt-4 {margin-top: var(--margin-4) !important;}
.mt-5 {margin-top: var(--margin-5) !important;}


.ml {margin-left: var(--margin) !important;}
.ml-1 {margin-left: var(--margin-1) !important;}
.ml-2 {margin-left: var(--margin-2) !important;}
.ml-3 {margin-left: var(--margin-3) !important;}
.ml-4 {margin-left: var(--margin-4) !important;}
.ml-5 {margin-left: var(--margin-5) !important;}

/* Paddings */

.p-1 {padding: var(--padding-1) !important;}
.p-2 {padding: var(--padding-2) !important;}
.p-3 {padding: var(--padding-3) !important;}
.p-4 {padding: var(--padding-4) !important;}
.p-5 {padding: var(--padding-5) !important;}


.px-1 {padding-left: var(--padding-1) !important; padding-right: var(--padding-1) !important;}
.px-2 {padding-left: var(--padding-2) !important; padding-right: var(--padding-2) !important;}
.px-3 {padding-left: var(--padding-3) !important; padding-right: var(--padding-3) !important;}
.px-4 {padding-left: var(--padding-4) !important; padding-right: var(--padding-4) !important;}
.px-5 {padding-left: var(--padding-5) !important; padding-right: var(--padding-5) !important;}


.pt-1 {padding-top: var(--padding-1) !important;}
.pt-2 {padding-top: var(--padding-2) !important;}
.pt-3 {padding-top: var(--padding-3) !important;}
.pt-4 {padding-top: var(--padding-4) !important;}
.pt-5 {padding-top: var(--padding-5) !important;}

.spinner-border {
    color: var(--primary-color) !important;
}

.modal-header {
    align-items: center;
    justify-content: center;
    border-bottom: 0 !important;
}

.modal-header h4 {
    color: var(--primary-color);
    font-weight: 600;
}

.modal-msg{
    text-align: center;
}
.modal-footer {
    align-items: center;
    justify-content: center;
    border-top: 0 !important;
}

@media (min-width: 850px) {
    .modal-dialog {
        max-width: 800px;
        margin: 1.75rem auto;
    }
}

.form-group img {
    position: absolute;
    width: 1.3rem !important;
    right: 0;
    top: .8rem;
    cursor: pointer;
    z-index: 9;
}

/* Modificamos las clases de Alpine */
[x-cloak] {
    display: none !important;
}

.form-control-border {
    border-top-color: transparent !important;
    border-right-color: transparent !important;
    border-left-color: transparent !important;
    border-bottom-color: #DBE2E9;
}

.content-page{
    background-color: white;
    padding:1%;
}
.nav-enlaces{
    display: flex;
    padding-bottom: 10px;
}

.enlace-activo, .enlace-activo:hover{
    background-color: white;
    margin: 0;
    font-weight: 700;
    text-align: center;
    padding: 5px 50px 15px 50px;    
    color:  #373737;
    border-radius: 5px;
    border-top: 4px solid #68C2DD;
    font-size: 14px;
    
}

.enlace-inactivo, .enlace-inactivo:hover{
    background-color: white;
    margin: 0;
    font-weight: 700;
    text-align: center;
    padding: 5px 50px 15px 50px;    
    color:  #9F9F9F;
    border-radius: 5px;
    border-top: 4px solid #808080;
    font-size: 14px;
}

.enlace-accion,.enlace-accion:hover{
    margin-left: auto;
    margin-right: 14px;
    text-align: end;
    text-decoration: none;
    color: #707070;
}

.enlace-accion img{
    width: 20px;
    color: white;
    margin: 0 0 5px 5px;
}

.select-custom{
    display: inline-block;
    width: 60px;
    height: calc(2.25rem + 2px);
    padding: 0.375rem 1.75rem 0.375rem 20px;
    margin-left: 10px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    vertical-align: middle;
    background: #fff url(data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E) no-repeat right 0.75rem center/8px 10px;
    border: 1px solid #ced4da;
    border-radius: 20px !important;
    box-shadow: inset 0 1px 2px rgb(0 0 0 / 8%);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.flecha-select{
    padding-right: calc(30px)!important;
    background: #fff url(/resources/icons/arrow_down.png) no-repeat right 0.6rem center/15px 15px!important;
}

.bottom-form{
    margin-top:8%;
}
.bottom-form p{
    color: #7B7B7B;
    font-size: 1 rem;
    font-weight: 500;
}
.bottom-form hr{
    border-top:1px solid #BEBEBE;
}

.bottom-form .buttons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 5%;
}

/*Estilos para el campo imagen*/
.image-input{
    width: 300px;
    min-height: 225px;
    position: relative;
}

.img-upload{
    max-width: 20%;
    margin: 0 auto 15px auto;
}

.contenedor-input-disabled{
    max-width: 100%;
    min-height: 225px;
    padding: 30px 0;
    display: flex;
    align-items: center;
    background-color: #F1F1F1;
    border: 1px solid #B9C0C2;
}

.contenedor-input{
    max-width: 100%;
    min-height: 225px;
    border-radius: 10px;
    padding: 30px 0;
    display: flex;
    align-items: center;
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='10' ry='10' stroke='%23D6D6D6FF' stroke-width='3' stroke-dasharray='9%2c 12' stroke-dashoffset='0' stroke-linecap='round'/%3e%3c/svg%3e");
}

.input-file{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: 0 !important;
}

.contenedor-preview-image{
    max-width: 80%;
    margin: 0 auto;
}
/*Fin estilos campo imagen*/

/*Estilos del modal del cropper*/
.file-preview{
    display: block;
    margin: auto;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 300px;
}
#cropperModal .img-container img {
    max-width: 100%;
    background-color: #333;
    height:100%;
}

.nav-flex {
    padding-bottom: 0;
}

.nav-flex nav {
    display: flex;
    gap: .5rem;
    padding-left: 5rem;
}

.nav-flex nav a {
    cursor: pointer;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.inline-field {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.inline-field label {
    font-weight: normal !important;
    margin: 0;
}

.inline-field input, .inline-field select, .inline-field div {
    flex: 1;
    margin: 0 !important;
}

.inline-field img {
    cursor: pointer;
    position: absolute;
    right: 1rem;
}

.first-element {
    padding-left: 5rem;
}

.ms-drop input[type="radio"], .ms-drop input[type="checkbox"] {
    position: relative !important;
}

.preloader {
    z-index: 999999999;
}

.download-excel-btn{
    color: #8A9297;
    font-weight: 700;
    text-align: end;
}

.download-excel-btn img{
    width: 20px;
    color: white;
    margin: 0 0 5px 5px;
} 

input[type="password"]::-ms-reveal {
    display: none;
}

.special-error {
	max-width: calc(60% + 45px) !important;
	flex: 1;
}

.invalid-search {
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #dc3545;
}