/* vim: set foldmethod=expr: */

/**
 *
 * comunes
 *
 */

.container {
    max-width: 1316px;
}

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

/**
 *
 * hacienda/header/banner
 *
 */

.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;
    }
}

/**
 *
 * nav/barrasDeNavegacionBarraPrincipal
 *
 */

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;
                }
            }
        }
    }
}

/**
 *
 * nodo/contexto/cols1, cols2, cols3/header
 *
 */

article.nodo.contexto-cols1 > header,
article.nodo.contexto-cols2 > header,
article.nodo.contexto-cols3 > header {
    padding-top: 140px;
}

/**
 * nodo/contexto/noticia/header
 */

article.nodo.contexto-noticia > header {
    padding-top: 140px;
}

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

section.hijos.formato-listado, section.hijos.formato-personalizado {
    > ul {
        > li {
            ul {
                li {
                    div.resumen {
                        display: none; /* Hacienda históricamente no despliega contenidos en este nivel */
                    }
                }
            }
        }
    }
}

/**
 *
 * nodo/clase/autoridad
 *
 */

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

/**
 *
 * 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/portada/noticia-principal
 *
 */

.noticia-principal {
    margin: 40px auto 0 auto;
    .carousel-item {
        &::before {
            content: "";
            position: absolute;
            background-color: transparent;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            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));
        }

        .carousel-caption {
            h3 {
                &: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;
                }
            }
        }
    }
}

/**
 *
 * personalizado/portada/noticias-mas
 *
 */

.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;
            }
        }
    }

}

/**
 *
 * personalizado/portada/noticias-adyacente
 *
 */

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

/**
 *
 * personalizado/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;
        }
    }
}

/**
 *
 * personalizado/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;
    }
}

/**
 *
 * personalizado/portada/mh-al-dia-y-otros
 *
 */

.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;
                }
            }
        }
    }
}

/**
 *
 * personalizado/portada/infografias
 *
 */

.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;
        }
    }
}

/**
 *
 * personalizado/portada/indices
 *
 */

.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;
                    }
                }
            }
        }
    }
}

/**
 *
 * personalizado/portada/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;
        }
    }
}


/**
 *
 * 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;
            h4 i { color: #3aa1f2; }
        }
        &.bg-instagram {
            background: #c13584;
            h4 i { color: #c13584; }
        }
        &.bg-linkedin {
            background: #01669e;
            h4 i { color: #01669e; }
        }
        &.bg-flickr {
            background: #ff0084;
            h4 i { color: #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;
                i {
                    font-size: 26px;
                    filter: brightness(1.25) saturate(150%);
                }
            }

            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;
                    }
                }
            }
        }

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

/**
 *
 * personalizado/areas-de-trabajo(indice)
 *
 */

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/areas-de-trabajo(específicas)
 *
 */

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
 *
 */

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;
            }
        }
    }
}


