/* vim: set foldmethod=expr: */

/**
 *
 * Comunes: comunes a todo el sitio
 *
 */

body {
    font-family: Fira Sans, sans-serif;
    color: #293340;
    font-size: 1rem;
    font-weight: 400;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
    overflow-x: hidden;
    background-color: #fafafa;
    line-height: 1.5;
    text-align: left;

    --bs-link-color: #0f69b4;
    --bs-link-color-rgb: rgb(15, 105, 180);
    --bs-link-opacity: 1;
}

a {
    text-decoration: none;
    background-color: transparent;
    transition: color .2s ease;
}

div.overrideable-placeholder {
    aspect-ratio: 1.78;
    background-image: url("../img/placeholder-mh-Rfeflj1.jpg") !important;
    background-position: center;
}

div.modal-title > * {
    font-size: 1.25rem;
    margin-bottom: 0;
}

/**
 *
 * Comunes: banner header superior
 *
 */

.banner-header {
    width: 100%;
    display: flex;
    flex-direction: column;
    position: fixed;
    text-align: center;
    z-index: 2;
    top: 0;
    a {
        padding: 6px;
        transition: all .2s;
    }
    .empresas-estatales {
        background-color: #1c5188;
    }
}

/**
 *
 * Comunes: menú/barra principal
 *
 */

nav.barrasDeNavegacionBarraPrincipal, nav.englishNavigationBarsMainBar {
    padding: 0;
    z-index: 50;
    max-width: 100%;
    margin: 2.5rem auto 0 auto;
    width: 100%;
    left: 0;
    right: 0;
    height: 127px;
    opacity: 1;

    > .container-fluid {
        display: block;
        padding: 0;
        margin: 0 auto;
        width: 100%;
        transform: translateY(0);

        > div {
            min-height: 60px;
            width: 100%;
                border-bottom: 1px solid hsla(0, 0%, 100%, .13);

            > div {
                padding: 0 0 0 70px;
                margin: auto;
                max-width: 1440px;
            }

            .navbar-toggler {
                border: 0;
                float: right;
                padding: .8rem;
                margin-right: 70px;
                &:focus:not(:focus-visible) {
                    box-shadow: none;
                }
            }

            .navbar-brand {
                padding: 0;
                float: left;
                margin-right: 0;
                display: block;

                img {
                    height: 127px;
                }
            }

            .navbar-collapse {
                .navbar-nav {
                    margin-right: 0 !important;
                    height: 60px;
                    justify-content: space-between;
                    align-items: center;
                    text-align: center;
                    font-size: .85rem;
                    font-weight: 600;
                    text-transform: uppercase;
                    letter-spacing: .02rem;
                    width: 100%;

                    .nav-link {
                        padding: .8rem 1.85rem;
                        color: #fff;
                        &.active {
                            color: #27aeff;
                        }
                        &:focus, &:hover {
                            color: hsla(0, 0%, 100%, .75);
                        }

                        &.idioma {
                            border-radius: 2px;
                            border: 1px solid rgba(0, 161, 255, .6);
                            font-family: Lato, sans-serif;
                            font-size: 0.75rem;
                            font-weight: 700;
                            letter-spacing: 1px;
                            line-height: normal;
                            &:hover {
                                background-color: #22649b;
                            }
                        }
                        &.buscar {
                            font-size: 1.1rem;
                            &:hover {
                                background-color: transparent;
                                opacity: .8;
                            }
                        }
                    }

                }

                @media (max-width: 1199.98px) {
                    .navbar-nav {
                        background: #fff;
                        height: 100%;
                        .nav-link {
                            color: #26344a;
                        }
                    }
                }
            }
        }

        li.nav-item.u-f11fa3cd296e5 .nav-link {
            font-size: 0;
            &::after {
                font-size: .85rem;
                content: "Subsecretaría";
            }
        }
    }
}

body.header-not-at-top {
    nav.barrasDeNavegacionBarraPrincipal, nav.englishNavigationBarsMainBar {
        > .container-fluid {
            > div {
                height: 60px;
                overflow: hidden;
                box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
                -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
                -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
                transition: .35s;
                top: -64px;
                position: absolute;
                background-color: #fff;
                .navbar-collapse {
                    .navbar-nav {
                        .nav-link {
                            color: #5e6e79;
                            transition: .15s;
                        }
                    }
                }
            }
        }
    }
}

@media (max-width: 1199.98px) {
    nav.barrasDeNavegacionBarraPrincipal, nav.englishNavigationBarsMainBar {
        height: 60px;
        background-color: #fff;
        > .container-fluid {
            > div {
                .navbar-collapse {
                    .navbar-nav {
                        width: auto;
                    }
                }
                top: -30px;
            }
        }
    }
    body.header-not-at-top {
        nav.barrasDeNavegacionBarraPrincipal, nav.englishNavigationBarsMainBar {
            > .container-fluid {
                > div {
                    top: -30px;
                }
            }
        }
    }
}

/**
 *
 * Comunes: breadcrumbs
 *
 */

.breadcrumb {
    background-color: transparent;
    border-radius: 0;
    flex-wrap: wrap;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 500;
    list-style: none;
    padding: 18px 0;
    position: relative;

    &:before {
        border-bottom: 1px solid #d6d6d6;
        bottom: 0;
        content: "";
        left: calc((-100vw - -100%)/2);
        position: absolute;
        width: 100vw;
    }

    .breadcrumb-item {
        display: flex;

        a {
            color: #7a8790;
        }

        & + .breadcrumb-item {
            padding-left: .5rem;
            &:before {
                align-self: center;
                border-bottom: 1px solid #576873;
                border-right: 1px solid #576873;
                bottom: 0;
                color: #6c757d;
                content: "";
                display: inline-block;
                height: 7px;
                margin-left: 4px;
                margin-right: 1px;
                padding: 0;
                position: relative;
                right: 7px;
                top: 4px;
                transform: translateY(-50%) rotate(-45deg);
                width: 7px;
            }
        }
    }
}

/**
 * Comunes: paginación
 */

ul.pagination {
    margin-bottom: 30px;
}

/**
 *
 * Comunes: customs
 *
 */

article.nodo main .custom {
    a.boton& {
        background-color: transparent;
        border-radius: 2px;
        border: 1px solid #003764;
        color: #003764;
        font-family: Open Sans, sans-serif;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1px;
        line-height: normal;
        margin: 10px;
        min-width: 330px;
        padding: 18px 20px;
        position: relative;
        text-transform: uppercase;

        &::after {
            content: "\F054";
            font-family: Font Awesome\ 5 Free;
            font-weight: 600;
            margin-left: 1rem;
        }

        &:hover {
            background-color: #003764;
            color: #fff;
            border-color: #003764;
        }
    }
}

/**
 *
 * Portada: customs
 *
 */

.custom-portada {
    h2& {
        font-family: Inter, sans-serif;
        font-size: 1.1rem;
        font-weight: 500;
        color: #26344a;
        margin: 0;
        padding: 2rem 0 1.2rem;
        a {
            color: #26344a;
            &:hover {
                color: #0056b3;
                .fas {
                    transform: translateX(0.4rem);
                    transition: .2s;
                }
            }
        }
        .fas {
            font-size: 0.8rem;
        }
    }
    &.carousel-indicators {
        bottom: 5%;
        list-style: none;
        margin: auto;
        max-width: 95%;
        width: 100%;
        [data-bs-target] {
            align-self: center;
            background-clip: border-box;
            border-bottom: 0;
            border-radius: 40px;
            border-top: 4px solid transparent;
            margin: 0 8px;
            opacity: .3;
            width: 7px;
            &.active {
                opacity: 1;
                background-color: #03a9f4;
                padding: 1px;
            }
        }
    }
}

/**
 *
 * Portada: comunes
 *
 */

.container {
    max-width: 1316px;
}

.container-inner {
    margin: auto;
    max-width: 1316px;
}

/**
 *
 * Portada: carrusel noticias principal
 *
 */

.noticia-principal {
    max-height: 760px;
    overflow: hidden;
    width: 100%;
    margin: 40px auto 0 auto;
    max-width: 1440px;

    .carousel-indicators {
        justify-content: flex-end;
        width: 90%;
    }

    img {
        object-fit: cover;
        object-position: center;
        height: 680px;
        position: relative;
        z-index: -1;
    }

    .carousel-item {
        &::before, &::after {
            content: "";
            position: absolute;
            background-color: transparent;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }

        &::before {
            background: -moz-linear-gradient(0deg, transparent 90%, rgba(0, 0, 0, .4) 100%);
            background: -webkit-linear-gradient(0deg, transparent 90%, rgba(0, 0, 0, .4));
            background: linear-gradient(0deg, transparent 90%, rgba(0, 0, 0, .4));
        }

        &::after {
            background: -moz-linear-gradient(180deg, rgba(0, 0, 0, .1) 60%, rgba(0, 0, 0, .55) 100%);
            background: -webkit-linear-gradient(180deg, rgba(0, 0, 0, .1) 60%, rgba(0, 0, 0, .55));
            background: linear-gradient(180deg, rgba(0, 0, 0, .1) 60%, rgba(0, 0, 0, .55));
        }

        .carousel-caption {
            bottom: 6.8%;
            color: #fff;
            left: 70px;
            max-width: 800px;
            padding-bottom: 20px;
            padding-top: 20px;
            position: absolute;
            right: 15%;
            text-align: left;
            transition: .6s ease;
            z-index: 1;

            &:hover {
                margin-left: 10px;
            }

            h3 {
                font-size: 30px;
                font-weight: 500;
                line-height: 37px;
                max-height: 150px;
                margin-top: 8px;
                overflow: hidden;

                &:before {
                    content: "";
                    position: absolute;
                    width: 140px;
                    border-top: 3px solid;
                    border-image: linear-gradient(90deg, #0f69b4 41%, #eb3c46 0) 1 0 0 0;
                    top: 0;
                    bottom: 0;
                    z-index: -1;
                }

                a {
                    color: #fff;
                }
            }

            @media only screen and (max-width: 1100px) {
                h3 {
                    font-size: 24px;
                    line-height: 30px;
                    max-width: 580px;
                }
            }

            > * {
                margin-top: 18px;
            }

            time {
                text-transform: uppercase;
                letter-spacing: .07rem;
                font-size: .8rem;
                font-family: Lato, sans-serif;
                font-weight: 700;
                color: #999;
            }

        }
    }
}

/**
 *
 * Portada: más noticias
 *
 */

.noticias-mas {
    .zoom-frame {
        height: 166px;
        overflow: hidden;
        img {
            height: 166px;
            border-radius: 0;
            object-fit: cover;
            transition: .8s;
        }
    }

    a:hover img {
        transform: scale(1.08);
        transition: .7s ease;
    }

    time {
        display: block;
        font-size: .75rem;
        font-family: Lato, sans-serif;
        text-transform: uppercase;
        letter-spacing: .07rem;
        color: #7b8c98;
        font-weight: 700;
        padding: 14px 0 7px;
    }

    h3 {
        font-size: .95rem;
        font-weight: 400;
        line-height: 1.22rem;
        height: 79px;
        overflow: hidden;
        margin-bottom: 0;

        a {
            color: #26344a;
            &:hover {
                text-decoration: none;
                color: #0f69b4;
            }
        }
    }

}

/**
 *
 * Portada: adyacente noticias
 *
 */

.noticias-adyacente {
    img {
        width: 100%;
        margin-bottom: 1rem;
        &:hover {
            transition: .2s ease;
            filter: brightness(.9);
        }
    }
}

/**
 *
 * Portada: transparencia fiscal
 *
 */

section.transparencia-fiscal {
    background-color: #002034;
    margin-top: 83px;
    justify-content: space-around;
    padding-bottom: 35px;

    header {
        position: relative;
        width: 100%;
        height: 90px;
        overflow: hidden;
        img {
            object-fit: cover;
            width: 100%;
            display: flex;
            object-position: center;
            height: 90px;
        }
        h2 {
            text-align: center;
            color: #fff;
            font-size: 27px;
            font-family: Assistant, sans-serif;
            font-weight: 500;
            top: 0;
            position: absolute;
            width: 100%;
            height: 90px;
            padding: 28px 0;
        }
    }

    a {
        img {
            height: 94px;
            width: 100%;
            margin-top: 35px;
            opacity: .6;
            transition: .3s;
            &:hover {
                opacity: 1;
                transition: .3s;
            }
        }

        h3 {
            font-size: 17px;
            text-align: center;
            color: #fff;
            font-weight: 100;
            margin-top: 15px;
            margin-bottom: 0;
        }
    }
}

/**
 *
 * Portada: banners rotativos
 *
 */

.banners-rotativos {
    margin: 83px 0;

    .carousel-inner {
        .carousel-item > div {
            margin: 0 1em;
            border: none;
            min-height: 100%;

            img {
                max-height: 94px;
            }

            a:hover img {
                opacity: .8;
                transition: .3s;
            }
        }
    }

    .carousel-control-prev, .carousel-control-next {
        background-color: rgba(0, 0, 0, .58);
        position: absolute;
        top: calc(50% - 64px / 2);
        border: 0;
        width: 48px;
        height: 64px;
    }
}

/**
 *
 * Portada: redes sociales y premios
 *
 */

.mh-al-dia-y-otros {
    background-color: #e1e3e4;
    border-top: 1px solid #ccd4da;
    border-bottom: 1px solid #ccd4da;
    padding-top: 40px;
    padding-bottom: 40px;
    margin-bottom: 40px;

    .twitter {
        margin-left: auto;
        margin-right: auto;
        max-width: 300px;
        margin-bottom: 15px;
        .twitter-tweet {
            margin-top: 0 !important;
            margin-bottom: 0 !important;
            padding: 0 !important;
            border-radius: 0;
        }
    }

    .instagram iframe {
        min-width: 299px !important;
        border-radius: 12px !important;
        margin-bottom: 0 !important;
    }

    .flickr {
        background: #fff;
        border-radius: 12px;
        h2 {
            padding: 12px 12px 10px;
            font-family: Inter, sans-serif;
            font-weight: 500;
            color: #26344a;
            margin: 0;
            font-size: 17px;
            a {
                color: #26344a;
            }
            .flickr-dots {
                float: right;
                margin-top: 14px;
            }
        }
        .carousel {
            .carousel-indicators {
                bottom: 1rem;
            }
        }
    }
    .premios {
        margin-top: 19px;
        > div {
            > * {
                background-color: #fff;
                border-radius: 10px;
                border: 1px solid #ccd4da;
                color: #26344a;
                display: flex;
                font-family: Inter, sans-serif;
                font-size: calc(1rem + .2vw);
                font-weight: 500;
                height: 100%;
                margin: 0;
                padding: 30px;
                position: relative;
                width: 100%;
                z-index: 1;
            }
            > h2 img {
                background: transparent;
                border: none;
                bottom: 0;
                max-width: 180px;
                object-fit: cover;
                padding: 0;
                position: absolute;
                right: 0;
                width: 100%;
                z-index: -1;
            }
            > a img {
                background-color: #fff;
                object-fit: contain;
                width: 100%;
            }
            > a:hover img {
                opacity: .8;
            }
            @media (max-width: 767.98px) {
                > a img {
                    max-height: 200px;
                }
            }
        }
    }
}

/**
 *
 * Portada: infografías
 *
 */

.infografias {
    .card {
        border-radius: 0;
        border-top: 0;
        border-left: 0;
        border-right: 0;
        img {
            max-height: 90px;
        }
        .card-body {
            font-size: .86rem;
            margin-left: 16px;
            line-height: 1.1rem;
            display: flex;
            align-items: center;
        }
    }
}

/**
 *
 * Portada: índices
 *
 */

.indices {
    .carousel {
        border-left: 1px solid #2c3457;
        width: 100%;
        .carousel-indicators {
            [data-bs-target] {
                background-color: #404a71;
                opacity: 1;
                &.active {
                    background-color: #03a9f4;
                }
            }
        }
        .carousel-inner {
            background-color: #1f253e;
            padding: 10px 15px 32px;
            .carousel-item {
                padding: 0;
                top: 0;
                .chart-container {
                    height: 300px;
                    margin: 0 auto;
                    canvas {
                        background-color: #1f253e;
                        color: #fff;
                        border: none;
                        margin-bottom: 0;
                        border-collapse: collapse;
                    }
                }
            }
        }
    }
}

/**
 *
 * Portada: banners sitios web
 *
 */

.sitios-web {
    justify-content: space-between;
    padding: 63px 0 0;
    .card {
        border: none;
        width: calc(100% - 30px);
        margin: 16px 16px 0 16px;
        height: 230px;
        border-radius: 0;
        .card-img {
            border-radius: 0;
            height: 100%;
            object-position: left top;
            object-fit: cover;
        }
        .card-img-overlay {
            padding: 1.25rem;
            a {
                span {
                    text-transform: uppercase;
                    font-weight: 600;
                    line-height: 19px;
                    font-size: .9rem;
                    letter-spacing: 1px;
                }
                i {
                    right: 0;
                    margin-right: 22px;
                    bottom: 21px;
                    position: absolute;
                    padding: 11px 12px;
                    border: 1px solid hsla(0, 0%, 100%, .37);
                    border-radius: 20px;
                    font-size: 13px;
                }
                &:hover .fa-arrow-right {
                    transition: .2s ease;
                    transform: translateX(7px);
                }
                &:after {
                    pointer-events: auto;
                    background-color: transparent;
                }
            }
        }
    }
    @media (max-width: 991.98px) {
        .card {
            max-height: 80px;
        }
    }
}

/**
 *
 * Interior: comunes
 *
 */

article.nodo {

    form {
        background-color: #f7f7f7;
        border-radius: 3px;
        padding: 26px 32px;

        label {
            font-weight: 600;
        }

        .form-control, .form-select {
            border: 1px solid #cae4fd;
            background-color: #fff;
        }

        textarea {
            min-height: 6rem;
        }

        button[type="submit"] {
            font-size: 16px;
            text-transform: uppercase;
            font-weight: 600;
            color: #fff;
            margin-bottom: -10px;
            background-color: #0f69b4;
            margin-top: 32px;
            border: none;
            border-radius: 3px;
            padding: 15px 33px;
            display: block;
            letter-spacing: 1.2px;
            transition: .3s ease;
            width: 100%;
        }
    }

    div.container {
        margin-bottom: 50px;
    }

}

/**
 *
 * Interior: aside menú sección
 *
 */

article.nodo aside.menu-seccion {
    font-family: Inter, sans-serif;
    transition: .8s ease;
    margin-right: 22px;
    background-color: #fff;
    position: relative;
    border: 1px solid #dde4ec;
    border-top: 2px solid #2b6ea5;
    padding: 16px 26px 18px 26px;
    margin-bottom: 0;

    &:hover {
        transition: .3s;
        border: 1px solid #7eb0dc;
        border-top: 2px solid #3e7ba5;
    }

    a {
        color: #002147;
    }

    h3 {
        border-bottom: 1px solid #c8cfd8;
        font-family: Assistant, sans-serif;
        font-size: 19px;
        font-weight: 600;
        line-height: normal;
        margin-bottom: 1.5rem;
        margin-left: -26px;
        margin-right: -26px;
        padding: 0 26px 16px;

        a:hover {
            color: #0f69b4;
        }

        .retornar {
            margin: 16px -26px -17px;
            font-weight: 600;
            border-top: 1px solid #d4d4d4;
            border-bottom: 1px solid #d4d4d4;
            line-height: normal;
            font-family: Inter, sans-serif;
            font-size: 15px;
            border-left: 1px solid transparent;
            transition: .5s;
            a {
                display: block;
                padding: 13px 0 13px 26px;
                transition: .2s;
                &:before {
                    content: "\F060";
                    font-family: Font Awesome\ 5 Free;
                    color: #0f69b4;
                    vertical-align: initial;
                    font-size: 13px;
                    margin-right: 3px;
                }
            }
            &:hover {
                border-left: 4px solid #0f69b4;
                transition: .2s;
            }
        }
    }

    ul {
        list-style: none;
        padding: 0 0 0 15px;
        line-height: normal !important;

        li {
            margin-bottom: 1rem;
            position: relative;
            font-size: 15px;
            font-weight: 400;
            line-height: 20px;

            a {
                &:hover {
                    color: #0f69b4;

                    &:before {
                        left: -14px;
                        transition: .1s ease;
                    }
                }

                &:before {
                    content: "";
                    position: absolute;
                    border-right: 1px solid #4e576b;
                    border-bottom: 1px solid #4e576b;
                    width: 7px;
                    height: 7px;
                    top: 10px;
                    left: -17px;
                    transform: translateY(-50%) rotate(-45deg);
                    transition: .3s ease;
                }
            }

            ul {
                padding-top: 15px;
                margin-bottom: 26px;
                list-style: disc;
                font-size: .7rem;
                color: #576873 !important;
                li {
                    font-size: .93rem;
                    a:before {
                        content: none;
                    }
                }
            }

            &.active {
                > a {
                    color: #0f69b4;
                    font-weight: 600;

                    &:before,
                    &:hover:before {
                        border-color: #136bd5;
                    }
                }

                ul {
                    li {
                        a {
                            color: #576873;
                            font-weight: 400;
                            &:hover {
                                color: #0f69b4;
                            }
                        }
                        &.active a {
                            color: #0f69b4;
                        }
                    }
                }
            }
        }
    }
}

/**
 *
 * Interior: Header contexto cols1/cols2/cols3
 *
 */

article.nodo.contexto-cols1 > header,
article.nodo.contexto-cols2 > header,
article.nodo.contexto-cols3 > header {
    background-color: #0a314d;
    background-image: url("../img/header-mh-l3fGkP_.jpg");
    background-size: cover;
    background-position: center;
    border: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: calc((-100vw - -100%)/2);
    overflow: hidden;
    padding: 140px 0 97px;
    position: relative;
    text-align: center;
    width: 100vw;

    h2 {
        align-self: center;
        color: #fff;
        display: flex;
        flex-direction: column;
        font-family: Assistant, sans-serif;
        font-size: 42px;
        font-weight: 500;
        margin: 0 auto;
        max-width: 730px;
        padding: 0 20px;
        width: auto;
        z-index: 1;
    }

    .imagen {
        width: 1440px;
        position: unset;
        img {
            object-fit: cover;
            object-position: center;
            position: absolute;
            top: 0;
            width: 100%;
            bottom: 0;
            left: 0;
            right: 0;
            height: 100%;
            min-height: 100%;
        }
    }

}

/**
 * Interior: header contexto noticia
 */

article.nodo.contexto-noticia > header {
    background-color: #0a314d;
    background-image: url("../img/header-mh-l3fGkP_.jpg");
    background-size: cover;
    background-position: center;
    border: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: calc((-100vw - -100%)/2);
    overflow: hidden;
    padding-top: 140px;
    position: relative;
    text-align: left;
    width: 100vw;

    time, h2 {
        position: relative;
        left: 36px;
    }
    h2 {
        color: #fff;
        font-size: 42px;
        font-weight: 500;
        margin: 0 auto;
        padding: 0 20px;
        max-width: 730px;
        font-family: Assistant, sans-serif;
        font-size: 32px;
        margin-bottom: 70px;
        line-height: 40px;
        font-weight: 400;
    }
    time {
        text-transform: uppercase;
        letter-spacing: .07rem;
        font-size: 13px;
        font-weight: 700;
        color: #758b9c;
        width: 730px;
        margin: auto;
        padding: 0 20px 20px;
        color: #42aefb;
        font-family: Lato, sans-serif;
    }
    .resumen {
        color: #9ea6d1;
        width: 730px;
        margin: 20px auto 0;
        margin-top: -50px;
        margin-bottom: 60px;
        margin-top: -50px;
        margin-bottom: 60px;
        position: relative;
        left: 36px;
        p, li {
            line-height: 28px;
            margin: 0;
            font-size: 19px;
            padding-right: 20px;
            padding-left: 20px;
        }
        ul {
            margin: 0 20px 20px;
            padding: 0;
            position: relative;
            li {
                list-style: none;
                &:before {
                    content: "\25C6";
                    font-family: Inter, sans-serif;
                    left: 22px;
                    position: absolute;
                    font-size: 13px;
                    color: #0f69b4;
                    margin-top: 1px;
                    content: "";
                    transform: translateY(-50%) rotate(-45deg);
                    border-right: 2px solid;
                    border-bottom: 2px solid;
                    width: 9px;
                    position: absolute;
                    height: 9px;
                    left: 0;
                    margin-top: 13px;
                }
            }
        }
    }
    .imagen, .ratio {
        max-height: 720px;
        max-width: 1440px;
        margin: auto;
        width: 100vw;
        position: relative;
        left: calc((-100vw - -100%)/2);
        img {
            object-fit: cover;
            object-position: center;
            position: absolute;
            top: 0;
            width: 100%;
            bottom: 0;
            left: 0;
            right: 0;
            height: 100%;
            min-height: 100%;
            margin-top: 0;
            margin-bottom: 0;
            max-height: 720px;
            height: auto;
            position: relative;
        }
    }
}

/**
 *
 * Interior: nodo, main (resumen + cuerpo)
 *
 */

article.nodo main {
    div.body-main-center, section.hijos {
        time,
        div.imagen img,
        div.ratio,
        div.chart-container
        {
            display: block;
        }

        div.imagen img,
        div.ratio,
        div.chart-container {
            margin-bottom: 25px;
        }

        img {
            max-width: 100%; /* pseudo-img-fluid */
        }

        h1, h2, h3, h4, h5, h6 {
            color: #1d3d63;
            font-weight: 500;
            margin-bottom: 1.5rem;
        }

        h1, h2, h3 { /* h1, h2 y h3 homologados */
            font-size: 19px;
        }

        p, ul {
            color: #33415c;
            font-size: 1.05rem;
            margin-bottom: 1.5rem;
        }

        p {
            font-weight: 400;
            line-height: 1.7rem;
        }

        li {
            margin-bottom: 1rem;
            > p {
                margin-bottom: 0;
            }
        }

        a {
            color: #0f69b4;
        }

        section:not(.hijos, .paginas) ul {
            padding-left: 30px;

            li {
                margin-bottom: 8px;
                list-style: none;
                position: relative;
                &:before {
                    content: "\25C6";
                    font-family: Inter, sans-serif;
                    left: -22px;
                    position: absolute;
                    font-size: 13px;
                    color: #0f69b4;
                    margin-top: 1px;
                }
            }
        }

        table {
            background-color: #fff;
            border-collapse: collapse;
            border: 1px solid #ccd4da;
            color: #26344a;
            font-family: Open Sans, sans-serif;
            font-size: 15px;
            line-height: normal;
            margin-bottom: 32px;
            text-align: left;
            width: 100%;

            td, th {
                border-right: 1px solid #ccd4da;
                border-bottom: 1px solid #ccd4da;
                padding: 12px 10px;
            }

            h1, h2, h3, h4, p {
                margin: 0;
                padding: 0;
                text-align: left;
                font-size: 15px;
                line-height: normal;
            }
        }
    }
}

/**
 *
 * Interior: nodo clase persona
 *
 */

article.nodo.clase-persona, .hijo.clase-persona {
    div.body-main-center {
        text-align: center;
        div.imagen {
            position: unset;
            width: 100%;
            img {
                border-radius: 100px;
                height: 150px;
                width: 150px;
                margin: 0 auto 30px auto;
                object-fit: cover;
            }
        }
        div.resumen {
            text-align: justify;
        }
        div.cargo {
            font-size: 30px;
        }
    }
    div.cargo, div.resumen {
        margin-bottom: 30px;
    }
}

/**
 *
 * Interior: nodo clase gráfico
 *
 */

article.nodo.clase-grafico {
    div.body-main-center {
        div.data {
            text-align: right;
        }
    }
}

/**
 *
 * Interior: nodo clase globos
 *
 */

article.nodo.clase-globos {
    div.body-main-center {
        > .row {
            margin-bottom: 25px;
            .etiqueta {
                font-weight: 600;
            }
            .valor > * {
                background-color: rgb(24, 47, 91);
                color: rgb(255, 255, 255);
                font-weight: bold;
                text-align: center;
                display: inline-block;
                width: 75px;
                height: 75px;
                line-height: 75px;
                font-size: 120%;
                border-radius: 50%;
                margin: 0px auto;
            }
        }
    }
}

/**
 *
 * Interior: nodo, hijos (general)
 *
 */

section.hijos {
    time {
        display: block;
        margin-bottom: .5rem;
    }
    > .hijo > ul > li {
        p, li, div.resumen {
            margin-bottom: .5rem;
        }
    }
}


/**
 *
 * Interior: nodo, hijos formato listado/personalizado
 *
 */

section.hijos.formato-listado, section.hijos.formato-personalizado {
    > ul {
        list-style: none;
        padding: 0;

        > li {
            margin-bottom: 16px;
            font-family: Inter, sans-serif;
            padding: 16px 20px;
            background-color: #e4e8ea;
            border: 1px solid #e4e8ea;
            border-radius: 3px;

            a {
                color: #26344a;
                font-weight: 500;
            }

            time {
                display: block;
                font-family: Lato, sans-serif;
                letter-spacing: .07rem;
                font-weight: 700;
                margin-bottom: 10px;
                color: #7e8b94;
            }

            h3 {
                font-weight: 400;
                margin-left: 24px;
                margin-bottom: 0;
                padding: 0;
                line-height: normal;
                font-size: .95rem;
                &:last-child {
                    margin-bottom: 0;
                }
            }

            &:hover {
                border: 1px solid #7eb0dc;
            }

            &:before {
                content: "\F111";
                font-family: Font Awesome\ 5 Free;
                font-weight: 600;
                position: absolute;
                font-size: 7px;
                color: #768894;
                font-size: 16px;
                margin-left: 0;
                margin-top: -2px;
            }

            &.clase-nodo:before       { content: "\F07B"; }
            &.clase-articulo:before   { content: "\F249"; }
            &.clase-enlace:before     { content: "\F0C1"; }
            &.clase-documento:before  { content: "\F56D"; }

            ul {
                margin-top: 10px;
                margin-bottom: 0;
                font-size: 15.5px;

                li {
                    padding: 0 0 0 11px;
                    border: none;

                    div.resumen {
                        display: none; /* Hacienda históricamente no despliega contenidos en este nivel */
                    }

                }

            }

            p,
            ul li {
                font-size: 15px;
                line-height: 1.5rem;
                margin: 5px 25px;
                p {
                    margin: 5px 0;
                }
            }
        }
    }


    div.mas {
        padding: 11px 0 0 41px;
    }
}

/**
 *
 * Interior: nodo, hijos formato galería
 *
 */
section.hijos.formato-galeria {
    > .row > div {
        margin-bottom: 25px;
    }
    img, div.overrideable-placeholder {
        height: 100%;
        object-fit: cover;
    }
}

/**
 *
 * Interior: nodo, hijos formato grilla
 *
 */

section.hijos.formato-grilla, section.hijos.formato-grillaResponsiva {
    .col-lg-4 {
        margin-bottom: 50px;

    .card {
        margin-bottom: 0;
        background: #f8f8f7;
        border-radius: 0;
        border: 0;
        height: 100%;

        .card-img-top {
            height: 168px;
            margin-bottom: 0;
            object-fit: cover;
            object-position: center;
            border-radius: 0;
        }
        .card-body {
            padding: 16px;
            height: 100%;
            background-color: #fff;
            time {
                padding: 0;
                font-family: Lato, sans-serif;
                text-transform: uppercase;
                letter-spacing: .05rem;
                font-size: .65rem;
                font-weight: 700;
                margin: 0 0 7px;
                color: #758b9c;
            }
            h3 {
                font-size: .98rem;
                font-weight: 400;
                margin-top: 0;
                max-height: 80px;
                overflow: hidden;
                margin-bottom: 0;
                line-height: 1.3rem;
                a {
                    color: #26344a;
                    &:hover {
                        color: #0f69b4;
                        transition: .2s;
                    }
                }
            }
        }
}}
}

section.hijos.formato-grillaResponsiva {
    .col-lg-4 {
        .card {
            .card-img-top {
                height: auto;
            }
        }
    }
}

/**
 *
 * Interior: nodo, hijos formato composición
 *
 */

section.hijos.formato-composicion {
    div.hijo {
        &:not(:first-child) {
            border-top: 1px solid #dde4ec;
            margin-top: 1.5rem;
            padding-top: 1.5rem;
        }
    }
}

/**
 *
 * Interior: nodo, hijos formato listado con imágenes relacionadas
 *
 */

section.hijos.formato-listadoConImagenesRelacionadas {
    div.flex-shrink-0 {
        max-width: 16rem;
        img, div.overrideable-placeholder {
            width: 256px;
            object-fit: cover;
        }
    }
}

/**
 *
 * Interior: nodo, hijos formato galería a lo ancho
 *
 */

section.hijos.formato-galeriaALoAncho {
    div.hijo {
        &:not(:first-child) {
            border-top: 1px solid #dde4ec;
            margin-top: 1.5rem;
            padding-top: 1.5rem;
        }
        img {
            margin-bottom: 15px;
        }
    }
}

/**
 *
 * Interior: nodo, hijos formato paneles colapsables
 *
 */

section.hijos.formato-panelesColapsables, section.hijos.formato-panelesColapsablesMultiples {
    .accordion-header {
        margin-bottom: 0;
    }
    .mas, .resumen {
        margin-bottom: 15px;
    }
    .perma {
        display: none;
    }
}

/**
 *
 * Interior: nodo, hijo clase globos
 *
 */

div.hijo.clase-globos {
    .valor > * {
        background-color: rgb(24, 47, 91);
        color: rgb(255, 255, 255);
        font-weight: bold;
        text-align: center;
        display: inline-block;
        width: 75px;
        height: 75px;
        line-height: 75px;
        font-size: 120%;
        border-radius: 50%;
        margin: 0px auto;
    }
}

/**
 *
 * Interior: aside relacionados
 *
 */

aside.rel {
    background-color: transparent;
    border: 0;
    float: right;
    margin-left: 0;
    margin-right: 0;
    padding: 16px 26px 18px 26px;

    h3 {
        border-bottom: 1px solid #e6e6e6;
        font-family: Assistant, sans-serif;
        font-size: 1.12rem;
        font-weight: 600;
        line-height: normal;
        margin-left: -26px;
        margin-right: -26px;
        margin-bottom: 10px;
        padding-bottom: 10px;
        &:after {
            content: "\F02E";
            font-family: Font Awesome\ 5 Free;
            float: right;
            font-size: 15px;
            color: #165fa9;
        }
    }

    a {
        display: block;
        margin-bottom: 10px;
        color: #606b7b;
        line-height: normal;
        padding: 0;
        &:hover {
            color: #0f69b4;
        }
    }
}

/**
 *
 * Clase: Autoridad
 *
 */

article.nodo.clase-autoridad {
    > header {
        padding: 0;

        div.imagen {
            max-height: 600px;
            width: 100%;

            &::before {
                content: "";
                left: 0;
                background: -moz-linear-gradient(0deg,rgba(0,0,0,.55) 0,transparent 80%,rgba(0,0,0,.45) 100%);
                background: -webkit-linear-gradient(0deg,rgba(0,0,0,.55),transparent 80%,rgba(0,0,0,.45));
                background: linear-gradient(0deg,rgba(0,0,0,.55),transparent 80%,rgba(0,0,0,.45));
                position: absolute;
                top: 0;
                bottom: 0;
                right: 0;
                z-index: 1;
            }

            img {
                position: relative;
            }


        }

        div.nombre {
            padding: 0 77px;
            text-align: left;
            position: absolute;
            width: 100%;
            left: 0;
            z-index: 1;
            margin-bottom: 0;
            font-weight: 400;
            bottom: 15%;
            font-size: 38px;
            right: 0;
            max-width: 100%;
            color: #fff;
        }

        div.cargo {
            bottom: 9%;
            color: #bdd7ff;
            font-size: 1.3rem;
            font-weight: 600;
            left: 0;
            margin-bottom: 0;
            padding: 0 77px;
            position: absolute;
            text-align: left;
            width: 100%;
            z-index: 1;
        }
    }
}

/**
 *
 * Pie
 *
 */

footer {
    > div:first-child {
        background-color: #e1e3e4;
        border-top: #d0dde5;
        border-bottom: #d0dde5;
        padding-top: 60px;
        padding-bottom: 27px;
        margin-top: 60px;
        margin-bottom: 0;
        font-family: Open Sans, sans-serif;
        .card {
            border: none;
            margin-bottom: 25px;
            transition: .4s ease;
            &:hover {
                transform: translateY(-6px);
                transition: .4s ease;
            }
            img {
                border-radius: 0;
            }
            .card-img-overlay {
                display: flex;
                align-items: center;
            }
            p {
                margin: 0;
                padding: 0;
            }
            a {
                color: #5a5a5a;
            }
        }
    }

    > div:last-child {
        color: #576873;
        font-size: .95rem;
        background-color: #fafafa;
        padding-top: 60px;
        img {
            height: 53px;
        }
        b {
            font-weight: 600;
            line-height: 21px;
            font-size: 16px;
            color: #464f5f;
        }
        ul {
            list-style: none;
            padding: 0;
            margin: 0;
            &:not(:first-child) {
                margin-top: 31px;
            }

            li:first-child {
                color: #293340;
                text-transform: uppercase;
                font-family: Lato, sans-serif;
                letter-spacing: 2px;
                font-weight: 700;
                font-size: .75rem;
                margin-top: 0;
                margin-bottom: 9px;
            }

            li {
                margin: 6px 0;
            }
        }
        a {
            &:hover, &:hover i {
                color: #26344a;
                transition: .3s;
            }
            i {
                margin-right: 10px;
                width: 18px;
                text-align: center;
                font-size: 1rem;
                color: #95a2ab;
            }
        }
    }
}

/**
 *
 * Personalizado: Ministerio
 *
 */

article.nodo.u-663705b81c6d5, article.nodo.u-f60e8914482f5 {
    .card {
        margin-bottom: 20px;
        border: none;
        transition: box-shadow .25s ease-in;
        border-radius: 3px;

        &.bg-twitter { background: #3aa1f2; }
        &.bg-instagram { background: #c13584; }
        &.bg-linkedin { background: #01669e; }
        &.bg-flickr { background: #ff0084; }

        .card-body {
            display: flex;
            flex-direction: column;
            justify-content: space-between;

            img {
                object-fit: cover;
                object-position: center;
                height: 100%;
                position: absolute;
                top: 0;
                opacity: .45;
                left: 0;
                width: 100%;
                border-radius: 3px;
            }

            h4 {
                font-size: 19px;
                font-weight: 400;
                color: #fff;
                line-height: normal;
                z-index: 1;
                .fab {
                    font-size: 26px;
                }
            }

            a {
                color: #fff;
                z-index: 1;
                .fas {
                    margin-left: 13px;
                    font-size: 21px;
                    vertical-align: -2px;
                }
            }

        }

        &.conoce {
            background-color: #000;
            min-height: 280px;

            .card-body {
                padding: 26px;

                a {
                    text-transform: uppercase;
                    letter-spacing: 1.5px;
                    font-weight: 700;
                    font-size: 14px;
                    .fas {
                        color: #c1a783;
                    }
                }
            }
        }

        &.rrss {
            .card-body {
                a {
                    display: flex;
                    justify-content: space-between;
                }
            }
        }

        &:hover .card-body a .fas {
            transition: all .2s;
            transform: translateX(7px);
        }

    }
}

/**
 *
 * Personalizado: Áreas de trabajo (índice)
 *
 */

article.u-356049ce296e5, article.u-f48ab234482f5 {

    .card {
        border-radius: 2px;
        border: 1px solid #d6dde4;
        border-top: 2px solid #2b6ea5;

        .card-body {
            padding-bottom: 1rem;

            .card-title {
                font-weight: 600;
                font-family: Assistant, sans-serif;
                color: #022146;
                letter-spacing: normal;

                .fas {
                    color: #0f69b4;
                    margin-right: 1rem;
                }
            }

            .card-text {
                color: #374752;
                font-size: .94rem;
                line-height: 1.4rem;
                overflow: hidden;
                margin: 0;
                font-weight: 400;
                font-family: Inter, sans-serif;
            }
        }

        .card-footer {
            background-color: inherit;

            border-top: none;
            .btn {
                width: 100%;
                font-size: 17px;
                text-align: left;
                background-color: #0f69b4;
                border: none;
                margin-top: 23px;
                border-radius: 2px;
                font-weight: 600;
                color: #8ec6ff;
                padding: 12px 20px;
                position: relative;
                z-index: 1;

                &::after {
                    position: absolute;
                    width: 11px;
                    right: 22px;
                    margin-top: 9px;
                }
            }
            .dropdown-menu {
                width: 100%;
                margin: 0;
                padding: 0;
                top: 17px;
                border-radius: 0;
                border: none;
                background-color: #0f69b4;

                a {
                    color: #9bceff;
                    padding: 16px;
                    word-wrap: break-word;
                    white-space: -moz-pre-wrap;
                    white-space: pre-wrap;
                    &:hover {
                        background: #002e5d;
                        color: #cbe6ff;
                        border-radius: 0;
                    }
                }

                li {
                    margin-bottom: 0;
                }
            }
        }
    }
}

/**
 *
 * Personalizado: Áreas de trabajo (áreas individuales)
 *
 */

article.nodo main div.body-main-center .area-de-trabajo {
    h3, h4 {
        font-family: Assistant, sans-serif;
        font-size: 22px;
        font-weight: 600;
        margin-bottom: 22px;
        letter-spacing: -.2px;
    }

    h4 {
        font-size: 18px;
        margin-bottom: 9px;
    }

    .card {

        img {
            object-fit: cover;
            height: 100%;
        }

        time {
            color: #186eb6;
            font-family: Lato, sans-serif;
            font-size: .65rem;
            font-weight: 700;
            letter-spacing: .05rem;
            margin: 0;
            text-transform: uppercase;
        }

        .card-title {
            font-size: .96rem;
            font-weight: 400;
            line-height: 1.2rem;
            margin-bottom: 0;
            margin-top: 0;
            max-height: 75px;
            overflow: hidden;
        }

        p.card-text {
            margin-bottom: .5rem;
        }

        a {
            color: var(--bs-body-color);
        }

        &.banner {
            border-radius: 3px;
            border: none;
            height: 165px;
            margin-bottom: 34px;
            padding: 1.25rem;

            a {
                color: #fff;
                font-weight: 500;
                line-height: 20px;
                font-size: 1rem;
                letter-spacing: .02rem;

                &:hover i.fa-arrow-right {
                    transition: .2s ease;
                    transform: translateX(7px);
                }
            }

            i.fa-arrow-right {
                right: 0;
                margin-right: 22px;
                bottom: 21px;
                position: absolute;
                padding: 11px 12px;
                border: 1px solid hsla(0, 0%, 100%, .37);
                border-radius: 20px;
                font-size: 13px;
            }
        }
    }

    .caja {
        background-color: #fff;
        border-radius: 4px;
        border: 1px solid #dfdfdf;
        margin-bottom: 34px;
        padding: 16px 24px;

        > *:not(:last-child) {
            margin-bottom: 1rem;
        }

        .bi {
            align-items: center;
            background-color: #185b9b;
            border-radius: 2px;
            border: 8px solid #f6f7f8;
            color: #fff;
            display: flex;
            height: 40px;
            justify-content: center;
            padding: 19px;
            width: 40px;
        }

        a {
            font-weight: 500;
            margin: 0 0 4px;
        }

        strong {
            font-size: 28px;
            font-weight: 100;
            font-family: Open Sans, sans-serif;
        }

        time {
            margin-bottom: 0;
        }

    }
}

/**
 *
 * Personalizado: Subsecretaría
 *
 */

article.nodo.u-f11fa3cd296e5 {
    .carousel {
        .carousel-control-prev, .carousel-control-next, .carousel-indicators {
            display: none;
        }

        .carousel-inner {
            width: 100%;
            position: relative;

            .carousel-item {
                width: 100%;
                z-index: 0;

                &::after {
                    content: "";
                    background: linear-gradient(0deg,rgba(0,0,0,.9),transparent 43%,transparent);
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    z-index: 0;
                }

                .carousel-caption {
                    text-align: left;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    padding: 1rem 2rem;
                    z-index: 1;

                    time {
                        font-family: Lato,sans-serif;
                        text-transform: uppercase;
                        letter-spacing: .07rem;
                        font-weight: 700;
                        font-size: 12px;
                        color: hsla(0,0%,100%,.55);
                    }

                    > span {
                        display: block;
                        padding-bottom: 12px;
                        border-bottom: 1px solid hsla(0,0%,100%,.2);
                        margin-bottom: 12px;
                    }

                    a {
                        color: #fff;
                        font-size: 21px;
                        font-weight: 400;
                        line-height: 26px;
                        overflow: hidden;
                    }
                }

                img {
                    height: 420px;
                    object-fit: cover;
                    object-position: center;
                    width: 100%;
                }

            }
        }

    }

    .card.rrss {
        min-height: 236px;
        background-color: #000;
        margin-bottom: 1rem;

        img {
            height: 100%;
            left: 0;
            object-fit: cover;
            object-position: center;
            opacity: .45;
            position: absolute;
            top: 0;
        }

        .card-img-overlay {
            display: flex;
            flex-direction: column;
            justify-content: space-between;

            a, h3 {
                color: #fff;
                font-size: 19px;
                font-weight: 400;
                .fas {
                    margin-left: 13px;
                }
            }
        }

        &:hover a .fas {
            transition: all .2s;
            transform: translateX(7px);
        }
    }
}

/**
 *
 * Personalizado: Deuda pública / Públic Debt
 *
 */

article.nodo.u-1d284ab89c3f5, article.nodo.u-8e7da2a6a3ae5 {
    .caja {
        .row {
            p {
                margin-bottom: 0;
            }
        }
    }

    .col-3 {
        > * {
            margin: 0;
            background-color: #186eb6;
            color: #fff;
            text-align: center;
            padding: 0;
            font-family: Inter,sans-serif;
            font-size: 2rem;
            line-height: 2rem;

            &:first-child {
                border-radius: 4px 4px 0 0;
                font-size: 100%;
                padding-top: 6px;
            }

            &:last-child {
                border-radius: 0 0 4px 4px;
                font-size: 100%;
                padding-bottom: 6px;
            }

            time {
                margin: 0;
            }
        }
    }
}

/**
 *
 * Personalizado: Buscar
 *
 */

article.nodo.u-eaef089196de5, article.nodo.u-8e616b351a796 {
    div.ancestros {
        display: flex;
        flex-wrap: wrap;

        > span {
            & + span {
                padding-left: .5rem;
                &:before {
                    align-self: center;
                    border-bottom: 1px solid #576873;
                    border-right: 1px solid #576873;
                    bottom: 0;
                    color: #6c757d;
                    content: "";
                    display: inline-block;
                    height: 7px;
                    margin-left: 4px;
                    margin-right: 1px;
                    padding: 0;
                    position: relative;
                    right: 6px;
                    top: 2px;
                    transform: translateY(-50%) rotate(-45deg);
                    width: 7px;
                }
            }

        }
    }

    time, div.ancestros {
        opacity: .8;
    }
}
