.diremidg-page,
.diremidg-page *,
.diremidg-page *::before,
.diremidg-page *::after {
    box-sizing: border-box;
}


.diremidg-page {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 400px;

    margin: 0 !important;
    padding: 0 !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;

    float: none !important;
    clear: both !important;

    background: #f5f8fc;

    font-family:
        "Open Sans",
        Arial,
        sans-serif;

    color: #1c3555;

    overflow: visible !important;
}

.diremidg-page .diremidg-container {
    position: relative;

    display: block !important;

    width: calc(100% - 40px) !important;
    max-width: 1400px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 0 !important;

    float: none !important;
    clear: both !important;
}

.diremidg-page .diremidg-hero {
    position: relative;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 50px 0 46px !important;

    float: none !important;
    clear: both !important;

    background:
        linear-gradient(
            135deg,
            #082b58 0%,
            #0b3d75 100%
        ) !important;

    color: #ffffff;

    overflow: hidden;
}


/* LÍNEA DECORATIVA */

.diremidg-page .diremidg-hero::after {
    content: "";

    position: absolute;

    right: -100px;
    bottom: -180px;

    width: 450px;
    height: 450px;

    border-radius: 50%;

    background:
        rgba(
            255,
            255,
            255,
            .025
        );

    pointer-events: none;
}


/* EYEBROW */

.diremidg-page .diremidg-eyebrow {
    position: relative;
    z-index: 2;

    display: block;

    margin: 0 0 7px;

    color: #73c4f4;

    font-size: 10.5px;
    font-weight: 800;

    letter-spacing: 1.8px;

    text-transform: uppercase;
}


/* H1 */

.diremidg-page .diremidg-hero h1 {
    position: relative;
    z-index: 2;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family:
        "Open Sans",
        Arial,
        sans-serif;

    font-size: 38px !important;
    font-weight: 800 !important;

    line-height: 1.2 !important;
}


/* DESCRIPCIÓN */

.diremidg-page .diremidg-hero p {
    position: relative;
    z-index: 2;

    max-width: 760px;

    margin: 12px 0 0 !important;

    color:
        rgba(
            255,
            255,
            255,
            .84
        ) !important;

    font-size: 13.5px !important;

    line-height: 1.65 !important;
}

.diremidg-page .diremidg-content {
    position: relative;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 45px 0 65px !important;

    float: none !important;
    clear: both !important;

    background: #f5f8fc !important;
}

.diremidg-heading {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 25px;

    width: 100%;

    margin: 0 0 23px;
}


.diremidg-heading-text {
    min-width: 0;
}


/* ETIQUETA */

.diremidg-heading-text > span {
    display: block;

    margin-bottom: 5px;

    color: #0072bc;

    font-size: 9.5px;
    font-weight: 800;

    letter-spacing: 1.6px;

    text-transform: uppercase;
}


/* TÍTULO */

.diremidg-heading h2 {
    position: relative;

    margin: 0 !important;

    padding: 0 0 12px !important;

    color: #0b3264 !important;

    font-family:
        "Open Sans",
        Arial,
        sans-serif;

    font-size: 27px !important;
    font-weight: 800 !important;

    line-height: 1.25 !important;
}


.diremidg-heading h2::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 52px;
    height: 3px;

    border-radius: 20px;

    background: #0072bc;
}

.diremidg-counter {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    min-height: 35px;

    padding: 7px 13px;

    border: 1px solid #d5e0eb;

    border-radius: 20px;

    background: #ffffff;

    color: #64788d;

    font-size: 10.5px;

    white-space: nowrap;
}


.diremidg-counter i {
    color: #0b3264;
}


.diremidg-counter strong {
    color: #0b3264;

    font-weight: 800;
}

.diremidg-toolbar {
    position: relative;

    display: grid !important;

    grid-template-columns:
        minmax(250px, 1fr)
        190px
        auto
        auto;

    align-items: center;

    gap: 10px;

    width: 100% !important;

    margin: 0 0 24px !important;

    padding: 14px !important;

    border: 1px solid #dce5ee;

    border-radius: 12px;

    background: #ffffff;

    box-shadow:
        0 3px 14px
        rgba(
            11,
            50,
            100,
            .04
        );
}

.diremidg-search,
.diremidg-year {
    position: relative;

    display: block;

    width: 100%;
}


.diremidg-search > i,
.diremidg-year > i {
    position: absolute;

    left: 14px;
    top: 50%;

    transform: translateY(-50%);

    z-index: 2;

    color: #8493a4;

    font-size: 12px;

    pointer-events: none;
}


/* INPUT */

.diremidg-search input,
.diremidg-year select {
    display: block;

    width: 100% !important;
    height: 43px !important;

    margin: 0 !important;

    padding:
        8px
        13px
        8px
        39px !important;

    border:
        1px solid
        #d5e0ea !important;

    border-radius:
        8px !important;

    outline: none !important;

    background:
        #ffffff !important;

    color:
        #34495e !important;

    font-family:
        "Open Sans",
        Arial,
        sans-serif !important;

    font-size:
        12px !important;

    line-height:
        normal !important;

    box-shadow:
        none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


.diremidg-search input::placeholder {
    color: #9aa8b6;
}


.diremidg-search input:focus,
.diremidg-year select:focus {
    border-color:
        #0b3264 !important;

    box-shadow:
        0 0 0 3px
        rgba(
            11,
            50,
            100,
            .08
        ) !important;
}

.diremidg-filter-btn,
.diremidg-clear-btn {
    min-height: 43px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    padding:
        8px
        15px;

    border-radius:
        8px;

    font-family:
        "Open Sans",
        Arial,
        sans-serif;

    font-size:
        10.5px;

    font-weight:
        700;

    line-height:
        1;

    text-decoration:
        none;

    white-space:
        nowrap;
}


/* BUSCAR */

.diremidg-filter-btn {
    border:
        1px solid
        #0b3264 !important;

    background:
        #0b3264 !important;

    color:
        #ffffff !important;

    cursor:
        pointer;

    transition:
        background .2s ease,
        border-color .2s ease;
}


.diremidg-filter-btn:hover {
    border-color:
        #0072bc !important;

    background:
        #0072bc !important;
}


/* LIMPIAR */

.diremidg-clear-btn {
    border:
        1px solid
        #d1dce7;

    background:
        #ffffff;

    color:
        #53697f;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}


.diremidg-clear-btn:hover {
    border-color:
        #aebfd0;

    background:
        #eef5fb;

    color:
        #0b3264;
}

.diremidg-list {
    display: flex !important;

    flex-direction: column !important;

    gap: 11px !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;
}

.diremidg-card {
    position: relative;

    display: grid !important;

    grid-template-columns:
        56px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 17px;

    width: 100% !important;

    min-height: 99px;

    margin: 0 !important;

    padding:
        17px
        18px !important;

    border:
        1px solid
        #dce5ee !important;

    border-radius:
        12px !important;

    background:
        #ffffff !important;

    box-shadow:
        0 3px 13px
        rgba(
            11,
            50,
            100,
            .045
        );

    float:
        none !important;

    clear:
        both !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}


.diremidg-card:hover {
    transform:
        translateY(-2px);

    border-color:
        #bdcfe0 !important;

    box-shadow:
        0 8px 22px
        rgba(
            11,
            50,
            100,
            .08
        );
}

.diremidg-icon {
    width: 54px;
    height: 54px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 10px;

    background:
        #eaf3fb;

    color:
        #0b3264;

    font-size:
        22px;
}


/* PDF */

.diremidg-icon .fa-file-pdf {
    color:
        #e03131;
}


/* WORD */

.diremidg-icon .fa-file-word {
    color:
        #245da6;
}


/* EXCEL */

.diremidg-icon .fa-file-excel {
    color:
        #238445;
}


/* POWERPOINT */

.diremidg-icon .fa-file-powerpoint {
    color:
        #c64c2d;
}


/* ZIP */

.diremidg-icon .fa-file-zipper {
    color:
        #8a6d1d;
}


/* LINK */

.diremidg-icon .fa-link {
    color:
        #0072bc;
}

.diremidg-info {
    min-width:
        0;

    width:
        100%;
}


/* ETIQUETA */

.diremidg-label {
    display:
        block;

    margin-bottom:
        4px;

    color:
        #0072bc;

    font-size:
        8.5px;

    font-weight:
        800;

    letter-spacing:
        1.4px;
}


/* TÍTULO */

.diremidg-info h3 {
    margin:
        0 0 7px !important;

    padding:
        0 !important;

    color:
        #0b3264 !important;

    font-family:
        "Open Sans",
        Arial,
        sans-serif;

    font-size:
        13px !important;

    font-weight:
        700 !important;

    line-height:
        1.45 !important;

    overflow-wrap:
        anywhere;
}


/* DESCRIPCIÓN */

.diremidg-info > p {
    margin:
        -1px 0 9px !important;

    color:
        #697c90 !important;

    font-size:
        10.5px !important;

    line-height:
        1.5 !important;
}

.diremidg-meta {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        7px;
}


.diremidg-meta > span {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        4px;

    margin:
        0;

    color:
        #7b8b9d;

    font-size:
        9.5px;
}


.diremidg-meta i {
    color:
        #66819c;
}


/* TIPO */

.diremidg-type {
    padding:
        3px 7px;

    border-radius:
        4px;

    background:
        #eef4fa;

    color:
        #0b3264 !important;

    font-size:
        9px !important;

    font-weight:
        700;
}

.diremidg-actions {
    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    gap:
        7px;

    flex-shrink:
        0;
}


.diremidg-btn {
    min-height:
        38px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        6px;

    padding:
        8px 12px;

    border-radius:
        7px;

    font-family:
        "Open Sans",
        Arial,
        sans-serif;

    font-size:
        10px;

    font-weight:
        700;

    line-height:
        1;

    text-decoration:
        none !important;

    white-space:
        nowrap;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}


/* VER */

.diremidg-view {
    border:
        1px solid
        #0b3264;

    background:
        #0b3264;

    color:
        #ffffff !important;
}


.diremidg-view:hover {
    transform:
        translateY(-1px);

    border-color:
        #0072bc;

    background:
        #0072bc;

    color:
        #ffffff !important;
}


/* DESCARGAR */

.diremidg-download {
    border:
        1px solid
        #cedae6;

    background:
        #ffffff;

    color:
        #0b3264 !important;
}


.diremidg-download:hover {
    transform:
        translateY(-1px);

    border-color:
        #0b3264;

    background:
        #eef5fb;

    color:
        #0b3264 !important;
}


/* SIN ARCHIVO */

.diremidg-disabled {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    padding:
        8px 11px;

    border-radius:
        7px;

    background:
        #f1f4f7;

    color:
        #8795a4;

    font-size:
        9.5px;

    font-weight:
        600;
}

.diremidg-pagination {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        7px;

    width:
        100%;

    margin:
        28px 0 0;

    padding:
        0;
}


.diremidg-page-btn {
    width:
        39px;

    height:
        39px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        #d4dee9;

    border-radius:
        7px;

    background:
        #ffffff;

    color:
        #0b3264 !important;

    font-size:
        11px;

    font-weight:
        700;

    text-decoration:
        none !important;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}


.diremidg-page-btn:hover {
    border-color:
        #0b3264;

    background:
        #eef5fb;

    color:
        #0b3264 !important;
}


.diremidg-page-btn.active {
    border-color:
        #0b3264;

    background:
        #0b3264;

    color:
        #ffffff !important;
}

.diremidg-empty {
    width:
        100%;

    padding:
        54px
        25px;

    border:
        1px solid
        #dce5ee;

    border-radius:
        14px;

    background:
        #ffffff;

    text-align:
        center;

    box-shadow:
        0 3px 13px
        rgba(
            11,
            50,
            100,
            .04
        );
}


.diremidg-empty-icon {
    width:
        64px;

    height:
        64px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin:
        0 auto 15px;

    border-radius:
        15px;

    background:
        #edf5fb;

    color:
        #0b3264;

    font-size:
        29px;
}


.diremidg-empty h3 {
    margin:
        0 0 8px !important;

    color:
        #0b3264 !important;

    font-size:
        19px !important;

    font-weight:
        700;
}


.diremidg-empty p {
    max-width:
        500px;

    margin:
        0 auto !important;

    color:
        #708195 !important;

    font-size:
        11.5px !important;

    line-height:
        1.6 !important;
}


.diremidg-empty-btn {
    min-height:
        39px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    margin-top:
        17px;

    padding:
        0 14px;

    border-radius:
        7px;

    background:
        #0b3264;

    color:
        #ffffff !important;

    font-size:
        10px;

    font-weight:
        700;

    text-decoration:
        none;
}


.diremidg-empty-btn:hover {
    background:
        #0072bc;
}

@media (max-width: 991.98px) {


    .diremidg-page .diremidg-container {
        width:
            calc(100% - 30px) !important;
    }


    .diremidg-page .diremidg-hero {
        padding:
            40px 0 37px !important;
    }


    .diremidg-page .diremidg-hero h1 {
        font-size:
            31px !important;
    }


    .diremidg-page .diremidg-content {
        padding:
            38px 0 50px !important;
    }


    .diremidg-toolbar {
        grid-template-columns:
            minmax(0, 1fr)
            180px !important;
    }


    .diremidg-filter-btn,
    .diremidg-clear-btn {
        width:
            100%;
    }


    .diremidg-card {
        grid-template-columns:
            54px
            minmax(0, 1fr) !important;
    }


    .diremidg-actions {
        grid-column:
            2;

        justify-content:
            flex-start;
    }

}

@media (max-width: 575.98px) {


    .diremidg-page .diremidg-container {
        width:
            calc(100% - 24px) !important;
    }


    /* HERO */

    .diremidg-page .diremidg-hero {
        padding:
            31px 0 !important;
    }


    .diremidg-page .diremidg-eyebrow {
        font-size:
            9px;
    }


    .diremidg-page .diremidg-hero h1 {
        font-size:
            25px !important;
    }


    .diremidg-page .diremidg-hero p {
        max-width:
            100%;

        font-size:
            11.5px !important;

        line-height:
            1.55 !important;
    }


    /* CONTENIDO */

    .diremidg-page .diremidg-content {
        padding:
            28px 0 38px !important;
    }


    /* HEADING */

    .diremidg-heading {
        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            14px;

        margin-bottom:
            19px;
    }


    .diremidg-heading h2 {
        font-size:
            22px !important;
    }


    /* FILTROS */

    .diremidg-toolbar {
        grid-template-columns:
            1fr !important;

        gap:
            9px !important;

        padding:
            12px !important;
    }


    .diremidg-filter-btn,
    .diremidg-clear-btn {
        width:
            100%;
    }


    /* TARJETA */

    .diremidg-card {
        grid-template-columns:
            42px
            minmax(0, 1fr) !important;

        gap:
            11px !important;

        min-height:
            0;

        padding:
            13px !important;

        border-radius:
            9px !important;
    }


    /* ICONO */

    .diremidg-icon {
        width:
            42px;

        height:
            42px;

        border-radius:
            8px;

        font-size:
            18px;
    }


    /* TEXTO */

    .diremidg-info h3 {
        margin-bottom:
            6px !important;

        font-size:
            11.5px !important;
    }


    .diremidg-info > p {
        font-size:
            9.5px !important;
    }


    .diremidg-meta {
        gap:
            5px;
    }


    .diremidg-meta > span {
        font-size:
            8.5px;
    }


    /* ACCIONES */

    .diremidg-actions {
        grid-column:
            1 / -1;

        display:
            grid;

        grid-template-columns:
            1fr
            1fr;

        width:
            100%;
    }


    .diremidg-btn {
        width:
            100%;

        min-height:
            38px;

        font-size:
            9.5px;
    }


    /* PAGINACIÓN */

    .diremidg-pagination {
        justify-content:
            center;

        gap:
            6px;

        margin-top:
            22px;
    }


    .diremidg-page-btn {
        width:
            36px;

        height:
            36px;

        font-size:
            10px;
    }


    /* VACÍO */

    .diremidg-empty {
        padding:
            38px 17px;
    }


    .diremidg-empty-icon {
        width:
            55px;

        height:
            55px;

        font-size:
            25px;
    }


    .diremidg-empty h3 {
        font-size:
            17px !important;
    }


    .diremidg-empty p {
        font-size:
            10.5px !important;
    }

}
@media (max-width: 390px) {


    .diremidg-page .diremidg-container {
        width:
            calc(100% - 20px) !important;
    }


    .diremidg-page .diremidg-hero h1 {
        font-size:
            22px !important;
    }


    .diremidg-heading h2 {
        font-size:
            20px !important;
    }


    .diremidg-actions {
        grid-template-columns:
            1fr;
    }

}