body{
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
}

nav,
.navbar>.container-fluid ul
{
    width: 100%;
}

.nav-link{
    text-align: center;
}

.navbar>.container-fluid>ul>li:not(:last-child) .nav-link{
    text-align: center;
    font-weight: bold;
}

.navbar>.container-fluid>ul>li:not(:last-child) .nav-link:hover{
    color: #004a92;
    text-decoration: underline;
}

ul[class="nav navbar-nav"]{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

.nav-item:last-child{
    margin-left: auto;
}

.list-group-horizontal{
    width: 70%;
    min-width: fit-content;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.list-group-horizontal .list-group-item{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

h1{
    margin-top: .5em;
    margin-bottom: .5em;
    color: #004a92;
}

#login{
    width: 50%;
    margin-top: 5em;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}

#login>div{
    width: 100%;
}

main{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    padding: 3em;
}

main h3{
    margin-top: 1.5em;
}

.busqueda{
    width: 70%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: .25em;
    margin: .5em;
}

hr{
    width: 70%;
    color: #004a92;
}

ul.pagination{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: 1em;
}

#resultados{
    display: none;
    width: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.table{
    max-width: 70%!important;
}

h5{
    text-align: center;
    margin-top: 1em;
    font-style: italic;
}

li.page_item{
    cursor: pointer;
}

h4{
    margin: .5em;
}

h4 b{
    text-transform: uppercase;
    color: #004a92;
}

.card hr{
    width: 100%;
    color: black;
}

.card-header h5{
    font-style: normal;
}

#original{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

#resultados li{
    cursor: pointer;
}

.error{
    color: red;
}

#no_results{
    border: none!important;
}

#grande{
    font-size: 10rem;
}

#menos_grande{
    font-size: 5rem;
}

footer{
    width: 100%;
}
.mx-auto{
    margin-left: 0!important;
    width: fit-content!important;
}

.busqueda label{
    display: flex;
    align-items: center;
}

.busqueda label input{
    display: inline-block!important;
    width: auto!important;
    flex: 1;
    margin-left: .25em;
}

footer{
    margin-bottom: 0!important;
    margin-top: auto!important;
}

body{
    min-height: 100vh;
}

.dropdown-menu{
    width: fit-content!important;
    padding-right: .5em;
}

.dropdown-menu li{
    width: fit-content;
}

.fa-user{
    font-size: 1.5em!important;
    text-align: center;
    padding: .5em;
}

.fa-user:hover{
    color: #004a92;
}

.dropdown-toggle:empty::after{
    display: none;
}

main div .card-header{
    display: grid;
    grid-template-columns: 9fr 2fr 2fr;
    grid-gap: .5em;
}

#div-guardar{
    margin-bottom: .5em!important;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
}

#eliminar{
    margin-left: .5em;
}

main#alta{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap-reverse;
    width: 90%;
    padding: 0;
    margin-top: 1em;
}

main#alta>div{
    margin: .5em;
}

main#alta>div:last-child{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    max-width: 13%;
    margin-right: 0;
}

main#alta #eliminar{
    margin-top: .5em;
}

main#alta>div:first-child{
    margin-left: 0;
}

main#alta>div:last-child>div:last-child{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
}

main#alta>div:last-child>div:last-child select,
main#alta>div:last-child>div:last-child input{
    max-width: 150px;
    margin-top: .5em;
}

main#alta div:has(.card){
    max-width: 84.5%;
}

#alta-observaciones{
    width: 90%;
    margin-top: 1em;
    margin-bottom: 1em;
}

main#alta .card-header{
    grid-template-columns: 1fr;
}

body:has(#alta) #exito-general,
body:has(#alta) #fallo-general{
    width: 90%!important;
    margin-top: 1em;
}

.modal {
    display: block; 
    position: fixed; 
    z-index: 1; 
    padding-top: 100px; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: rgb(0,0,0); 
    background-color: rgba(0,0,0,0.4); 
    transition: opacity .5s ease;
    opacity: 0;
    visibility: hidden;
}

.modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 60%;
}

.modal-content h3{
    text-align: center;
    margin-bottom: 1em;
}

#cerrar-panel,
#opciones-panel{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: .5em;
}

#opciones-panel{
    margin-bottom: auto;
}

#opciones-panel #cancelar{
    margin-left: .5em;
}

span.badge{
    width: 100%;
    padding: .5em;
}

span.text-bg-secondary{
    background: #b4b8bb!important;
}

#vue{
    width: 70%;
}

.loading,
#errores,
#vue>div[style="overflow-x: auto;"]{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#vue .table{
    width: 100%;
    max-width: 100%!important;
}

div[class="spinner-border text-primary"]{
    width: 10rem;
    height: 10rem;
}

i[class="fa fa-exclamation-circle"]{
    color: red;
    font-size: 10rem;
}

.pagination .page-link:not(.disabled){
    cursor: pointer;
}

.floating-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40vw;
    background-color: #f5f5f5;
    border: solid 1px #ddd;
    padding: 1em !important;
    opacity: 0;
    transition: opacity 500ms;
    display: none;
}

.floating-panel>div:first-child,
.floating-panel>div:last-child{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    padding: .5em;
}

.floating-panel>div:last-child>button:first-child,
.floating-panel>div:last-child>a:first-child{
    margin-right: .5em;
}

#botonuser{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    margin-top: 1em;
    width: 70%;
}

#contenedor-edicion-user{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1em;
    width: 90%;
    margin-top: 5em;
    margin-bottom: 5em;
}

#contenedor-edicion-user>div,
#contenedor-edicion-user>form{
    /* background-color:  gray; */
    padding: .5em;
}

.boton-confimacion{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    padding-top: .5em;
    padding-bottom: .5em;
}

nav[class="navbar navbar-expand-lg bg-body-tertiary"] i{
    cursor: pointer;
}

.departamentos,
.areas,
.edicion{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: .5em;
    margin-bottom: .5em;
}

.vdepartamentos,
.edepartamentos{
    display: none;
}

body:has(#es-form) #exito-general,
body:has(#es-form) #fallo-general{
    width: 100%;
}

#tipos-posts{
    margin-top: 3em;
    width: 70%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

#tipos-posts .card{
    width: clamp(18rem, 30%, 30%);
}

#tipos-posts h5{
    font-style: normal!important;
}

#tipos-posts .card-title{
    margin-bottom: 2em;
}

#tipos-posts div.card{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-start;
    margin: 1em;
    color: white;
    height: 15em;
}

#tipos-posts div.card:hover{
    cursor: pointer;
}

#tipos-posts div.card:nth-child(1){
    background: rgba(30, 136, 229, 0.72);
}

#tipos-posts div.card:nth-child(1) a{
    width: 100%;
    background: rgba(30, 136, 229, .9);
    border-radius: 4px;
}

#tipos-posts div.card:nth-child(2){
    background: #004992b4;
}

#tipos-posts div.card:nth-child(2) a{
    width: 100%;
    background: #004a92;
    border-radius: 4px;
}

#tipos-posts div.card:nth-child(3){
    background: rgba(0, 151, 167, 0.72);
}

#tipos-posts div.card:nth-child(3) a{
    width: 100%;
    background: rgba(0, 151, 167, .9);
    border-radius: 4px;
}

#tipos-posts .card a.nav-link {
    transition: padding .3s ease;
}

#tipos-posts .card:hover a.nav-link {
    padding: 1em;
}

#tipos-posts .card-body>div:first-child{
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
}

#tipos-posts .card-body>div:first-child p{
    margin-bottom: .5em;
    margin-left: .5em;
    font-size: small;
}

@media screen and (max-width: 480px) {
    #contenedor-edicion-user{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        width: 90%;
        margin-top: 5em;
    }

    #contenedor-edicion-user>div,
    #contenedor-edicion-user>form{
        width: 100%;
    }
    
    main#alta{
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        width: 90%;
        padding: 0;
        margin-top: 1em;
    }

    main#alta>div:last-child{
        order: 1;
        width: 84.5%;
        margin-left: 0;
    }

    main#alta>div:first-child{
        order: 2;
        margin-right: 0;
    }

    main#alta>div:last-child>div:last-child select,
    main#alta>div:last-child>div:last-child input{
        width: 100%;
        max-width: 100%;
    }

    main#alta>div:last-child>div:last-child{
        order: 1;
        margin-bottom: 1em;
    }

    main#alta>div:last-child{
        margin-bottom: 0;
    }

    #div-guardar{
        width: 100%;
        order: 2;
        margin-bottom: .5em;
    }

    .nav-item{
        display: none;
    }

    #inicio,
    .nav-item:last-child{
        display: block;
    }
    .busqueda{
        grid-template-columns: 1fr;
        width: 90%;
    }

    #vue>div[style="overflow-x: auto;"]{
        display: block;
    }

    hr,
    #vue{
        width: 90%;
    }

    main div .card-header{
        grid-template-columns: 1fr;
    }

    main{
        flex-direction: column-reverse;
    }

    #div-guardar button{
        margin-top: .5em;
    }

    main#alta>div:last-child{
        max-width: none;
    }

    #div-guardar{
        justify-content: space-between;
    }
}