.modal{
    display: none;
}
/* Muestra Modal */
.modal.show{
    position:fixed;
    top:0;
    left:0;
    width:100vw;
    height: 100vh; 
    z-index:500;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
/* Modal Formulario interno medidas */
.modal form,
.modal .form{
    width:100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal form.no-flex,
.modal .form.no-flex{
    display: block; 
}


/* Opacidad */
.overlay{
    position:absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    z-index:1;
    background-color: var(--color-gris-4); 
    animation: modalAnimation .2s forwards;
}
/* Modal Content */
.modal-content{ 
    overflow-y: auto; 
    min-width: 50%;
    width: auto;
    max-width: 92%;
    max-height: 70vh; 
    position:absolute;
    background-color: var(--color-gris-1); 
    z-index:2;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    animation: modalContentAnimation .3s forwards;
    animation-delay: .1s;
    opacity: 0;
}
.modal-content.medium{
    width: 50%; 
    max-height: 75vh;
    overflow: auto;
}
@media screen and (max-width: 1024px) {
    .modal-content.medium{
        max-height: 85vh;
        width: 100%; 
    }
}
.modal-body .modal-info{ 
    margin:0 auto;
}
.modal-content.large{
    width: 70%; 
    max-height: 85vh;
    overflow: auto;
}
.modal-content.full{
    width: 90%; 
    max-height: 80vh;
}
/* Modal Animación */
@keyframes modalAnimation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: .7;
    }
}
@keyframes modalContentAnimation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
    
}
/* Modal Header */
.modal-header{
    font-size: 1.2em;
    margin-bottom: 1rem;
    padding: 1rem 2rem;
    border-bottom: 1px solid var(--color-gris-3);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
} 
@media screen and (max-width: 1024px) {
    .modal-header{
        padding: 1rem 1rem;
    }
}
.modal-header #modalTitle,
.modal-header .modalTitle{ 
    width: calc(100% - 40px);
}
/* Modal Body */
.modal-body{
    padding: 0 2rem;
}
@media screen and (max-width: 1024px) {
    .modal-body{
        padding: 0 1rem;
    }
}
.modal-body .form--box:first-child{
    margin-top: 0rem;
}
/* Modal Footer */
.modal-footer{
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 1rem 2rem;
}
/* Modal Listado para checkboxs medidas limitadas con scroll */
.modal-body-list{ 
    display: block;
    width: 100%;
    min-height: 150px;
    max-height: 35vh;
    overflow-y: scroll;
    margin:0 0 0 auto;
    padding-bottom: 1rem;
    border-bottom:2px solid var(--color-gris-4);
} 
.modal-body-list li{ 
    margin-bottom:0.25rem;
} 
.modal-body-list li label{ 
    background-color: var(--color-gris-2);
    border:0 !important;
    border-radius: 0 !important;
}