/* vim: set foldmethod=expr: */

/**
 *
 * colores tema base (light)
 *
 */

:root {

    --app-theme-fg:                             #04294e;
    --app-theme-bg:                             #ffffff;
    --app-theme-light:                          #ffffff;

    /* blues: azul garantizado para enlaces */

    --app-theme-blue-extradark:                 #04294e;
    --app-theme-blue-dark:                      #1c81d9;
    --app-theme-blue-middle:                    #3994e5;
    --app-theme-blue-light:                     #c7dff5;
    --app-theme-blue-extralight:                #ebf4fc;

    --app-theme-blue-contrast-extradark:        #ffffff;
    --app-theme-blue-contrast-dark:             #ffffff;
    --app-theme-blue-contrast-middle:           #ffffff;
    --app-theme-blue-contrast-light:            #ffffff;
    --app-theme-blue-contrast-extralight:       #04294e;

    /* neutral: delimita elementos primarios/secundarios */

    --app-theme-neutral-extradark:              #9fadbc;
    --app-theme-neutral-dark:                   #b3beca;
    --app-theme-neutral-middle:                 #cfd6de;
    --app-theme-neutral-light:                  #e7eaee;
    --app-theme-neutral-extralight:             #ffffff;

    --app-theme-neutral-contrast-extradark:     #04294e;
    --app-theme-neutral-contrast-dark:          #04294e;
    --app-theme-neutral-contrast-middle:        #04294e;
    --app-theme-neutral-contrast-light:         #04294e;
    --app-theme-neutral-contrast-extralight:    #04294e;

    /* accent: énfasis */

    --app-theme-accent-extradark:               #04294e;
    --app-theme-accent-dark:                    #1c81d9;
    --app-theme-accent-middle:                  #3994e5;
    --app-theme-accent-light:                   #c7dff5;
    --app-theme-accent-extralight:              #ebf4fc;

    --app-theme-accent-contrast-extradark:      #ffffff;
    --app-theme-accent-contrast-dark:           #ffffff;
    --app-theme-accent-contrast-middle:         #ffffff;
    --app-theme-accent-contrast-light:          #ffffff;
    --app-theme-accent-contrast-extralight:     #04294e;

    /* contrast: complementa los otros colores */

    --app-theme-contrast-extradark:             #730724;
    --app-theme-contrast-dark:                  #c00c3c;
    --app-theme-contrast-middle:                #f12258;
    --app-theme-contrast-light:                 #f78da9;
    --app-theme-contrast-extralight:            #fcd9e3;

    --app-theme-contrast-contrast-extradark:    #ffffff;
    --app-theme-contrast-contrast-dark:         #ffffff;
    --app-theme-contrast-contrast-middle:       #ffffff;
    --app-theme-contrast-contrast-light:        #ffffff;
    --app-theme-contrast-contrast-extralight:   #ffffff;

    .btn-primary    { --bs-btn-bg: var(--app-theme-blue-middle); }
    .btn-danger     { --bs-btn-bg: var(--app-theme-contrast-middle); }
    .text-primary   { color: var(--app-theme-blue-middle) !important; }
    .text-danger    { color: var(--app-theme-contrast-middle) !important; }

    --mh-color-nav-bg:              var(--app-theme-bg);
    --mh-color-nav-fg:              var(--app-theme-fg);
    --mh-color-nav-link-active:     var(--app-theme-blue-middle);

    --mh-color-header-bg:           var(--app-theme-accent-extralight);
    --mh-color-header-fg:           var(--app-theme-accent-contrast-extralight);
    --mh-color-header-time-fg:   var(--app-theme-accent-contrast-extralight);
    --mh-color-header-resumen-fg:   var(--app-theme-accent-contrast-extralight);

    --mh-color-breadcrumb-fg:       var(--app-theme-neutral-extradark);

    --mh-color-toc-bg:              var(--app-theme-accent-extralight);
    --mh-color-toc-header-bg:       var(--app-theme-accent-extralight);
    --mh-color-toc-fg:              var(--app-theme-accent-contrast-extralight);
    --mh-color-toc-link-fg-active:  var(--app-theme-blue-dark);

    --mh-color-hijo-bg:             var(--app-theme-accent-extralight);
    --mh-color-hijo-icon-fg:        var(--app-theme-blue-middle);

    --mh-color-pie-bg:              var(--app-theme-accent-extradark);
    --mh-color-pie-fg:              var(--app-theme-accent-contrast-extradark);

}

/**
 *
 * colores tema dark
 *
 */

:root[data-bs-theme="dark"] {
    --app-theme-fg:                             #ffffff;
    --app-theme-bg:                             #04294e;
    --app-theme-light:                          #04294e;

    /* blues: azul garantizado para enlaces */

    --app-theme-blue-extradark:                 #0E406C;
    --app-theme-blue-dark:                      #135690;
    --app-theme-blue-middle:                    #176BB5;
    --app-theme-blue-light:                     #1C81D9;
    --app-theme-blue-extralight:                #3994e5;

    --app-theme-blue-contrast-extradark:        #ffffff;
    --app-theme-blue-contrast-dark:             #ffffff;
    --app-theme-blue-contrast-middle:           #ffffff;
    --app-theme-blue-contrast-light:            #ffffff;
    --app-theme-blue-contrast-extralight:       #ffffff;

    /* neutral: delimita elementos primarios/secundarios */

    --app-theme-neutral-extradark:              #ffffff;
    --app-theme-neutral-dark:                   #e7eaee;
    --app-theme-neutral-middle:                 #cfd6de;
    --app-theme-neutral-light:                  #b3beca;
    --app-theme-neutral-extralight:             #9fadbc;

    --app-theme-neutral-contrast-extradark:     #04294e;
    --app-theme-neutral-contrast-dark:          #04294e;
    --app-theme-neutral-contrast-middle:        #04294e;
    --app-theme-neutral-contrast-light:         #04294e;
    --app-theme-neutral-contrast-extralight:    #04294e;

    /* accent: énfasis */

    --app-theme-accent-extradark:               #04294e;
    --app-theme-accent-dark:                    #04294e;
    --app-theme-accent-middle:                  #04294e;
    --app-theme-accent-light:                   #04294e;
    --app-theme-accent-extralight:              #063D74;

    --app-theme-accent-contrast-extradark:      #ffffff;
    --app-theme-accent-contrast-dark:           #ffffff;
    --app-theme-accent-contrast-middle:         #ffffff;
    --app-theme-accent-contrast-light:          #ffffff;
    --app-theme-accent-contrast-extralight:     #ffffff;

    /* contrast: complementa los otros colores */

    --app-theme-contrast-extradark:             #f6799a;
    --app-theme-contrast-dark:                  #f4257e;
    --app-theme-contrast-middle:                #f12258;
    --app-theme-contrast-light:                 #e60f48;
    --app-theme-contrast-extralight:            #c00c3c;

    --app-theme-contrast-contrast-extradark:    #ffffff;
    --app-theme-contrast-contrast-dark:         #ffffff;
    --app-theme-contrast-contrast-middle:       #ffffff;
    --app-theme-contrast-contrast-light:        #ffffff;
    --app-theme-contrast-contrast-extralight:   #ffffff;
}

/**
 *
 * body flex
 *
 */

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    > article {
        flex-grow: 1;
    }
}

/**
 *
 * fonts
 *
 */

body {
    font-family: 'Figtree', sans-serif;
}

/**
 *
 * nav
 *
 */

nav.navbar {
    width: 100%;
    margin: 0 auto;
    font-weight: 500;
    font-size: .85rem;
    padding-top: 1rem;
    padding-bottom: 1rem;

    .boton {
        margin: 0 1rem;
        padding: .5rem .75rem;
    }

    .navbar-brand img {
        width: 130px;
    }

    .btn-group {
        margin-right: 10px;
    }

    .dropdown-toggle::after {
        content: '\F107';
        font-family: 'Font Awesome 5 Free';
        font-size: .75rem;
        font-weight: 600;
        border: none;
    }

    .btn.dropdown-toggle {
        margin: 0;
        margin-left: 0px;
        padding: 0;
        border: none;
        top: 2px;
        transition: .2s all;
    }

    a.nav-link {
        font-weight: 600;
    }
}
a.nav-link[href="/novedades"] + .dropdown-toggle-split {
    display: none;
}

/**
 *
 * ClaveÚnica
 *
 */

/* Boton estilo de base */
.btn-cu {
    display: inline-block;
    font-family: Roboto, sans-serif;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border-radius: 0;
    line-height: 1.6em;
}

/*Icono ClaveÚnica*/
.btn-cu .cl-claveunica {
    display: inline;
    float: left;
    text-indent: -9999px;
}

.btn-cu.btn-color-estandar {
    background-color: #0F69C4;
    color: #FFF;
}

/*Texto ClaveÚnica*/
.btn-cu .texto {
    padding-left: 3px;
    text-decoration: underline;
}

/* Tamaño M */
.btn-cu.btn-m {
    width: 160px;
    min-width: 160px;
    max-height: 42px;
    padding: 8px 18px 8px 15px !important;
    font-size: 16px;
    line-height: 1.6em;
}
.btn-cu.btn-m .cl-claveunica {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-size: 24px 24px;
}

/* Tamaño S */
.btn-cu.btn-s {
    width: 130px;
    min-width: 130px;
    max-height: 36px;
    padding: 8px 10px !important;
    font-size: 14px;
}

.btn-cu.btn-s .cl-claveunica {
    background-size: 24px 24px;
    width: 24px;
    height: 24px;
}

.btn-cu.btn-color-estandar:hover {
    background-color: #0C549C;
    color: #FFF;
}

.btn-cu.btn-color-estandar:active {
    background-color: #093F75;
    color: #FFF;
}

.btn-cu.btn-color-estandar:focus {
    background-color: #0C549C;
    color: #FFF;
    outline: 1px dashed #000;
}

/**
 *
 * article.nodo
 *
 */

article.nodo, body > div.container > article {
    div.container {
        margin-bottom: 0;
    }

    main {
        background-color: var(--bs-body-bg);
        color: var(--bs-body-color);
        margin-bottom: 60px;
        border-radius: 6px;
        padding: 3rem 0;

        h2 {
            font-size: 1.6rem;
            padding-bottom: 16px;
            font-weight: 700;
        }

        time {
            color: var(--app-theme-blue-dark);
        }

        &, section.hijos {
            table {
                height: auto;
                text-align: left;
                margin: 1rem auto;
                line-height: 1.5;
                font-size: .9rem;
                vertical-align: middle;
                border: none;

                p {
                    font-size: .9rem;
                    line-height: 1.5;
                    padding-bottom: 1rem;
                }

                thead {
                    font-weight: 600;
                }
                td, th {
                    border: none;
                }
            }

            li.hijo {
                border-radius: .5rem;
                border: none;
            }
        }
    }
}

/**
 *
 * article.nodo header
 *
 */

article.nodo.contexto-cols1 > header,
article.nodo.contexto-cols2 > header,
article.nodo.contexto-cols3 > header {
    background-image: none;
    padding: 30px 0;
    h2 {
        font-weight: 800;
        font-size: 1.5rem;
        font-family: "Figtree", sans-serif;
    }
}

/**
 *
 * breadcrumb
 *
 */

.breadcrumb-container {
    background-color: transparent;
    border-bottom: 1px solid var(--app-theme-accent-extralight);
    & .breadcrumb {
        margin-bottom: 0;
        &:before {
            border-bottom: none;
        }
    }
}

/**
 *
 * Toc
 *
 */

aside.toc, aside.toc:hover {
    border-radius: .5rem;
    border: none;
    h3 {
        border-radius: .5rem;
        border: none;
        font-family: "Figtree", sans-serif;
        font-weight: 800;
    }
}

/**
 *
 * Footer
 *
 */
body > footer {

    .container > div {
        padding: 1.5rem 0;
        margin-top: 1.5rem;
    }

    div.lead {
        border-top: 1px solid var(--app-theme-accent-light);
        border-bottom: 1px solid var(--app-theme-accent-light);
    }

    div.copyright {
        background-color: var(--app-theme-accent-dark);
        color: var(--app-theme-accent-contrast-dark);
        a {
            color: var(--app-theme-accent-contrast-dark);
        }
    }

    img {
        height: 60px;
    }

    .fs-5 {
        font-size: 1.5rem;
        font-weight: 800;
        margin-bottom: .75rem;
    }

    a {
        color: var(--app-theme-blue-middle);
        display: block;
        margin-bottom: .75rem;
    }
}

/**
 *
 * Portada
 *
 */
body.body-cd6b6180f3f86, body.body-cb213285c1066 {
    h2 {
        font-weight: 800;
        font-size: 1.75rem;
    }
}

/**
 *
 * Portada: banner-financiamiento
 *
 */

body.body-cd6b6180f3f86, body.body-cb213285c1066 {
    .banner-financiamiento {
        width: 100%;
        > :first-child {
            display: flex;
            > :first-child {
                flex-grow: 1;
                padding: 1rem;
                background-image: linear-gradient(to right, var(--app-theme-blue-dark), var(--app-theme-bg));
                color: var(--app-theme-blue-contrast-dark);
                div {
                    font-weight: 800;
                    font-size: 1.2rem;
                }
            }
            > :last-child {
                justify-content: end;
                align-items: center;
                gap: 3rem;
                padding-right: 1rem;
            }
        }
        > :last-child {
            background-color: var(--app-theme-accent-extralight);
            color: var(--app-theme-accent-contrast-extralight);
            > .row {
                > * {
                    padding: 1rem;
                }
            }
        }
    }
}

/**
 *
 * Portada: Principal
 *
 */

body.body-cd6b6180f3f86, body.body-cb213285c1066 {

    .principal {
        display: flex;
        background-color: var(--app-theme-blue-extradark);
        color: var(--app-theme-blue-contrast-extradark);
        max-width: 1320px;
        min-height: 25rem;
        margin: 0 auto;
        img {
            object-fit: cover;
            object-position: left;
            width: 100%;
        }
        .resumen {
            max-width: 480px;
            margin: 0 80px;
            align-self: center;
            position: absolute;

            > * {
                margin-bottom: 1.5rem;
                &:first-child {
                    margin-bottom: 0;
                }
            }
            .fs-1 {
                font-weight: bold;
                b {
                    display: block;
                    color: var(--app-theme-blue-dark);
                    line-height: 1rem;
                }
            }
            .small {
                color: var(--app-theme-neutral-dark);
            }
            > div:last-child {
                display: flex;
                gap: 1rem;
                .boton {
                    padding: .75rem 1rem;
                    font-size: .8rem;
                }
            }
        }
    }

    [data-bs-theme=dark] {
        .principal {
            color: var(--app-theme-fg);
        }
    }
}

/**
 *
 * Portada: Reconstruyamos
 *
 */

body.body-cd6b6180f3f86, body.body-cb213285c1066 {

    .reconstruyamos {
        > div:first-child {
            display: flex;
            flex-direction: column;
            gap: .5rem;
            margin: 3rem 0 2rem;
            text-align: center;
            > div:first-child {
                font-size: .75rem;
            }
        }
        .card {
            .card-title {
                font-weight: 800;
                font-size: 1.25rem;
            }
            div.lista {
                > div {
                    display: flex;
                    gap: .5rem;
                    padding: .5rem 0;
                    &:last-child {
                        border-bottom: none;
                    }
                }
            }
            .card-footer {
                display: flex;
                flex-direction: column;
                background-color: transparent;
                border-top: none;
                .boton {
                    display: inline-block;
                    padding: .75rem;
                }
                > div {
                    display: flex;
                    gap: 1rem;
                    > * {
                        flex-grow: 1;
                    }
                }
                > div:last-child {
                    margin: 1rem 0 .5rem;
                    font-size: .8rem;
                }
            }
        }
        div.row > div:first-child {
            .card {
                border: 1px solid var(--app-theme-contrast-extralight);
            }
            div.lista {
                i.bi {
                    color: var(--app-theme-contrast-middle);
                }
                > div {
                    border-bottom: 1px solid var(--app-theme-contrast-extralight);
                }
            }
        }
        div.row > div:last-child {
            .card {
                border: 1px solid var(--app-theme-blue-light);
            }
            div.lista {
                i.bi {
                    color: var(--app-theme-blue-dark);
                }
                > div {
                    border-bottom: 1px solid var(--app-theme-blue-light);
                }
            }
        }
    }

}

/**
 *
 * Portada: Lo que hemos logrado…
 *
 */

body.body-cd6b6180f3f86, body.body-cb213285c1066 {

    .logrado {
        background-color: var(--app-theme-accent-extralight);
        color:            var(--app-theme-accent-contrast-extralight);
        margin-top: 3rem;
        padding-bottom: 3rem;

        .container:first-child > div:first-child {
            display: flex;
            flex-direction: column;
            gap: .5rem;
            margin: 3rem 0 2rem;
            text-align: center;
            > div:first-child {
                font-size: .75rem;
            }
            > div:last-child {
                color: var(--app-theme-neutral-extradark);
                font-weight: 800;
            }
        }
        .container:last-child {
            background-color: var(--app-theme-bg);
            border-radius: 1rem;
            padding: 2rem;
            border: 1px solid var(--app-theme-blue-light);
            box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.1);

            .tab-pane {
                .row > * > div {
                    display: flex;
                    gap: 1rem;
                }
            }

            ul.nav {
                border-top: 1px solid var(--app-theme-blue-light);
                gap: 1rem;
                margin-bottom: 0;
                margin-top: 2rem;
                padding-top: 2rem;
                display: flex;
                justify-content: space-between;
                button.nav-link {
                    display: block;
                    width: 100%;
                    font-weight: 800;
                    &.active {
                        background-color: var(--app-theme-blue-dark);
                    }
                    &:hover {
                        color: var(--app-theme-blue-dark);
                    }
                    &.active:hover {
                        color: var(--app-theme-bg);
                    }
                }
                > li > button:not(.active) {
                    background-color: var(--app-theme-blue-light);
                }
            }
        }
    }

}

/**
 *
 * Portada: Empresas
 *
 */

body.body-cd6b6180f3f86, body.body-cb213285c1066 {

    .empresas {
        padding-bottom: 3rem;

        display: flex;
        align-items: center;

        h2 {
            text-align: center;
            margin: 3rem 0 2rem;
        }

        .carousel {
            .carousel-inner {
                .carousel-item {
                    > div {
                        height: 8rem;
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        gap: 1rem;
                        text-align: center;
                        img {
                            width: 120px;
                        }
                    }
                }
            }

            .carousel-control-prev-icon, .carousel-control-next-icon {
                border: 1px solid var(--app-theme-neutral-extradark);
                border-radius: 100%;
                width: 1rem;
                height: 1rem;
                padding: 1rem;
                background-image: none;
                position: relative;
                &::before {
                    font-family: 'bootstrap-icons';
                    color: var(--app-theme-neutral-extradark);
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    line-height: 2rem;
                }
            }
            .carousel-control-prev-icon {
                &::before {
                    content: "\F284";
                }
            }
            .carousel-control-next-icon {
                &::before {
                    content: "\F285";
                }
            }
            .carousel-control-prev {
                justify-content: start;
                width: 10%;
                opacity: 1;
            }
            .carousel-control-next {
                justify-content: end;
                width: 10%;
                opacity: 1;
            }
        }
    }

}

/**
 *
 * Portada: Proyectos
 *
 */

body.body-cd6b6180f3f86, body.body-cb213285c1066 {

    div.proyectos {
        > div:first-child {
            display: flex;
            flex-direction: column;
            gap: .5rem;
            margin: 3rem 0 2rem;
            text-align: center;
            > div:first-child {
                font-size: .75rem;
            }
        }
        > div:last-child {
            display: flex;
            gap: 1rem;
            justify-content: space-between;
            align-items: center;
            font-weight: 800;
            font-size: 1.2rem;
            background-color: var(--app-theme-accent-extralight);
            color: var(--app-theme-accent-contrast-extralight);
            margin-top: 2rem;
            padding: 1rem;
            border-radius: 1rem;
            > *:nth-child(2) {
                flex-grow: 1;
            }
            img {
                width: 3.5rem;
            }
            .boton {
                background-color: var(--app-theme-bg);
                border: 1px solid var(--app-theme-blue-dark);
                padding: 1rem 2rem;
            }
        }
        .card {
            border: 1px solid var(--app-theme-blue-light);
            .progress-bar {
                background-color: var(--app-theme-blue-dark);
            }
        }
    }

}

/**
 *
 * Portada: Testimonios
 *
 */

body.body-cd6b6180f3f86, body.body-cb213285c1066 {

    .testimonios {
        background-color: var(--app-theme-accent-extralight);
        color: var(--app-theme-accent-contrast-extralight);
        margin-top: 3rem;
        padding-bottom: 3rem;

        h2 {
            text-align: center;
            margin: 3rem 0 2rem;
        }

        .carousel {
            .carousel-inner {
                .row {
                    margin: 0 5rem;
                    div:first-child {
                        margin-bottom: 1rem;
                        display: block;
                        img {
                            border-radius: 1rem;
                            object-fit: cover;
                            width: 100%;
                            height: 20rem;
                        }
                    }
                    > div:last-child {
                        padding: 2rem;
                        background-color: var(--app-theme-bg);
                        border-radius: 1rem;
                        box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.1);
                        margin-bottom: 1rem;
                        .titulo {
                            font-weight: 800;
                            margin-bottom: 1rem;
                        }

                        blockquote {
                            font-style: italic;
                            font-size: 1.25rem;
                            &::before {
                                content: "\F6B0";
                                font-family: 'bootstrap-icons';
                                font-size: 3rem;
                                line-height: 3.75rem;
                                float: left;
                                margin-right: 1rem;
                            }
                        }

                        li p, ul {
                            margin-bottom: 0;
                        }
                    }
                }
            }

            .carousel-indicators {
                top: unset;
                bottom: -1.5rem;
                margin-bottom: 0;
                [data-bs-target] {
                    background-color: var(--app-theme-blue-dark);
                }
            }

            .carousel-control-prev-icon, .carousel-control-next-icon {
                background-color: var(--app-theme-blue-dark);
                border-radius: 100%;
                width: 1rem;
                height: 1rem;
                padding: 1rem;
                background-image: none;
                position: relative;
                &::before {
                    font-family: 'bootstrap-icons';
                    color: var(--app-theme-bg);
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    line-height: 2rem;
                }
            }
            .carousel-control-prev-icon {
                &::before {
                    content: "\F284";
                }
            }
            .carousel-control-next-icon {
                &::before {
                    content: "\F285";
                }
            }
            .carousel-control-prev {
                justify-content: start;
                width: 10%;
                opacity: 1;
            }
            .carousel-control-next {
                justify-content: end;
                width: 10%;
                opacity: 1;
            }
        }
    }

}

/**
 *
 * Portada: Noticias
 *
 */

body.body-cd6b6180f3f86, body.body-cb213285c1066 {

    div.noticias {
        margin-bottom: 3rem;

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

        a {
            font-weight: 800;
        }

        > div:first-child {
            justify-content: space-between;
            display: flex;
            align-items: center;
            margin: 3rem 0 2rem;
            > div:first-child {
                display: flex;
                flex-direction: column;
                gap: .5rem;
                font-size: .75rem;
            }
            .boton-ver-todo {
                display: block;
                background-color: var(--app-theme-blue-dark);
                color: var(--app-theme-bg);
                padding: 1rem 2rem;
            }
        }

        .card {
            border: 1px solid var(--app-theme-blue-light);
            .card-custom-footer {
                padding: 1rem;
                .mas {
                    display: flex;
                    align-items: center;
                    border-top: 1px solid var(--app-theme-blue-light);
                    padding-top: 1rem;
                    &::after {
                        content: "\F138";
                        font-family: "bootstrap-icons";
                        margin-left: .5rem;
                    }
                }
            }

            &.h-100 {
                h5 a {
                    font-size: 1.5rem;
                }
                img {
                }
            }
        }

        .fecha {
            display: flex;
            align-items: center;
            &::before {
                color: var(--app-theme-blue-dark);
                content: "\F214";
                font-family: "bootstrap-icons";
                margin-right: .5rem;
            }
        }
    }
}

/**
 *
 * Ejecución de proyectos
 *
 */

article.u-e2e362ee2e666 {

    .ejecucion-filtros-card {
        background-color: #ffffff;
        border-radius: 12px;
        padding: 20px 24px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    }

    .ejecucion-filtros-card label {
        color: #1a2b4c;
        font-weight: 600;
        font-size: 0.85rem;
        margin-bottom: 4px;
    }

    .ejecucion-filtros-card .form-control,
    .ejecucion-filtros-card .form-select {
        background-color: #e9edf5;
        border: 1px solid #e9edf5;
        color: #1a2b4c;
    }

    .ejecucion-filtros-card .form-control::placeholder {
        color: #5c6b8a;
    }

    .ejecucion-filtros-divisor {
        flex: 0 0 calc(100% + 48px);
        width: calc(100% + 48px);
        margin: 8px -24px 16px -24px;
        height: 1px;
        background-color: #d4e6f7;
        border: none;
        opacity: 1;
    }

    .boton-eliminar-filtros {
        background-color: var(--app-theme-contrast-middle);
        color: var(--app-theme-contrast-contrast-middle);
    }

    form[name=ejecucion_filter] {
        display: flex;
        flex-wrap: wrap;
        padding: 0;

        > .mb-3 {
            width: 33.333%;
            padding: 8px 8px;
        }

        #ejecucion_filter_filtrar {
            margin-right: 8px;
            background-color: #3994e5 !important;
            border-color: #3994e5 !important;
        }

        #ejecucion_filter_descargar {
            background-color: #f5a524 !important;
            border-color: #f5a524 !important;
        }
        #ejecucion_filter_descargar:hover,
        #ejecucion_filter_descargar:focus {
            background-color: #e0951a !important;
            border-color: #e0951a !important;
        }
    }

   .card {
        background-color: #ffffff;
        border: 1px solid #e5eaf0;
        border-radius: 12px;
        box-shadow: none;
        color: #1a2b4c;
    }

    .card-header {
        background-color: #ffffff;
        border-bottom: 1px solid #e5eaf0;
        padding: 16px 20px;
    }

    .card-header .lead {
        font-size: 1.1rem;
        font-weight: 600;
        color: #1a2b4c;
        margin-bottom: 0;
    }

    .card-header .text-primary {
        color: #4a8de8 !important;
    }

    .card-body {
        background-color: #ffffff !important;
    }

    .proyecto-card-body {
        color: #1a2b4c;
    }

    .proyecto-card-body .fw-bold {
        color: #1a2b4c;
    }

    .proyecto-thumb {
        width: 200px;
        height: 140px;
        object-fit: cover;
        border-radius: 8px;
        background-color: #f0f2f5;
    }

    .proyecto-divisor {
        width: 1px;
        align-self: stretch;
        background-color: #e5eaf0;
    }

}

/**
 *
 * Administrador
 *
 */

article {
    h3 {
        font-size: 1.2rem;
        font-weight: 600;
        margin-top: 26px;
    }
    li.hijo h3 {
        margin-top: 0;
    }
    legend {
        font-size: 1.2rem;
        font-weight: 600;
    }
    ul.comunas {
        li {
            margin: 1.5rem 0;
        }
    }
    form {
        & table {
            td, th {
                padding: 1rem 1rem 1rem;
                vertical-align: middle;
            }
            .mb-3 {
                margin-bottom: 0 !important;
            }
        }
    }

    .carousel-item img {
        object-fit: contain;
        object-position: center;
        overflow: hidden;
        height: 176px;
    }

    .carousel-num {
        top: 0;
        width: 8rem;
    }

    .carousel-control-rm {
        bottom: 0;
        width: 3rem;
    }

    .carousel-control-rm, .carousel-num {
        position: absolute;
        margin: 0 auto;
        left: 0;
        right: 0;
        text-align: center;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        text-align: center;
        border: 0;
        opacity: .4;
        transition: opacity .15s ease;
    }
    .carousel-control-rm:focus, .carousel-control-rm:hover, .carousel-num {
        text-decoration: none;
        outline: 0;
        opacity: .9;
    }

    .carousel-control-prev:hover, .carousel-control-next:hover {
        opacity: .6;
    }

    fieldset.custom {
        padding: 20px 15px;
        margin: 20px 0;
        border-radius: 10px;
    }
}

/**
 *
 * Customs
 *
 */

.boton {
    border-radius: 5px;
    font-weight: 800;
    text-wrap: nowrap;
    text-align: center;

    &.boton-donar {
        background-color: var(--app-theme-contrast-middle);
        color: var(--app-theme-contrast-contrast-middle);
    }

    &.boton-proyecto {
        background-color: var(--app-theme-blue-dark);
        color: var(--app-theme-blue-contrast-dark);
    }

    &.boton-donar-ahora, &.boton-quiero-donar {
        background-color: var(--app-theme-contrast-middle);
        color: var(--app-theme-contrast-contrast-middle);
    }

    &.boton-proponer-proyecto {
        background-color: var(--app-theme-bg);
        color: var(--app-theme-fg);
    }
}

[data-bs-theme=dark] {
    .boton {
        &.boton-proponer-proyecto {
            background-color: var(--app-theme-fg);
            color: var(--app-theme-bg);
        }
    }
}

.boton, .btn {
    font-family: "Nunito", sans-serif;
    font-weight: 800;
}

/**
 *
 * Cartera de proyectos
 *
 */

article.u-dfd79fefbae36, article.u-e6a69f8e49186, body.body-cd6b6180f3f86 .proyectos {

    header {
        h2, h2 + * {
            text-align: left;
            width: 100%;
            max-width: unset;
            margin: 0 auto;
        }
        h2 + * {
            margin-top: .5rem;
        }
    }
    form {
        padding: 0;
    }
    .fs-4 {
        font-weight: 800;
        margin: 1rem 0;
        text-align: center;
    }
    img.card-img-top {
        height: 260px;
        object-fit: cover;
    }
    .card-title {
        font-weight: 800;
        margin-top: 1rem;
    }
    .card-body {
        padding-bottom: 0;
        > :first-child {
            color: var(--app-theme-blue-dark);
        }
    }
    .card-footer {
        border-top: none;
        background-color: transparent;
        .d-flex > div {
            div:first-child {
                margin-top: 1rem;
                font-weight: 800;
            }
            div:last-child {
                opacity: .5;
            }
        }
        a.btn {
            padding-top: 1rem;
            padding-bottom: 1rem;
            margin-top: 1rem;
            margin-bottom: .5rem;
        }
    }

    .row.proyecto {
        > div:first-child {
            img {
                border-radius: .5rem;
            }
            h3 {
                font-weight: 800;
                &:not(:nth-child(2)) {
                    border-top: 1px solid var(--app-theme-blue-middle);
                    padding-top: 1.5rem;
                }
            }
            i.bi {
                color: var(--app-theme-contrast-middle);
                margin-right: .5rem;
            }
            div.solucion, div.impacto {
                > div {
                    display: flex;
                    margin-top: 1rem;
                    &::before {
                        font-family: "bootstrap-icons";
                        color: var(--app-theme-contrast-middle);
                    }
                }
            }
            div.solucion > div::before {
                content: "\F309";
                font-size: 1.2rem;
                line-height: 1.5rem;
                margin-right: .75rem;
            }
            div.impacto > div::before {
                content: "\F26E";
                font-size: 1.2rem;
                line-height: 1.5rem;
                margin-right: .75rem;
            }
        }
        > div:last-child {
            > div:first-child {
                display: flex;
                flex-direction: column;
                gap: 1rem;
                padding: 1rem;
                border: 1px solid var(--app-theme-blue-light);
                border-radius: .5rem;
                > div:first-child {
                    font-weight: 800;
                    > div:last-child {
                        font-size: 2rem;
                    }
                }
            }
            > div:last-child {
                margin-top: 1rem;
                padding: 1rem;
                border: 1px solid var(--app-theme-blue-light);
                background-color: var(--app-theme-accent-extralight);
                color: var(--app-theme-accent-contrast-extralight);
                border-radius: .5rem;
                i.bi {
                    color: var(--app-theme-blue-dark);
                    margin-right: .5rem;
                }
                dl {
                    margin-bottom: 0;
                    dd {
                        padding-left: 1.8rem;
                    }
                }
            }
        }
    }
}

article.nodo.u-dfd79fefbae36, article.nodo.u-e6a69f8e49186 {
    header h2 {
        text-align: center;
    }
}

/**
 *
 * Logos empresas donantes
 *
 */

article.nodo.u-5062063d7a6a6 {
    section.hijos.formato-galeria {
        img, div.overrideable-placeholder {
            object-fit: contain;
            margin: 1rem;
        }
    }
}

/**
 *
 * hijos.formato-listadoConImagenesRelacionadas
 *
 */

article.nodo main {
    section.hijos.formato-listadoConImagenesRelacionadas {
        img {
            aspect-ratio: 2/3;
            border-radius: 1rem;
        }
    }
}

/**
 *
 * nodo.contexto-noticia
 *
 */

article.nodo.contexto-noticia {
    > header {
        background-image: none;
        h2 {
            font-family: "Figtree", sans-serif;
            font-weight: 800;
        }
    }

    aside.toc.i-68c8cc9b12246 {
        display: none;
    }
}

/**
 *
 * Admin
 *
 */

body > article > main {
    > h2 {
        text-align: center;
        font-family: "Figtree", sans-serif;
        font-weight: 800;
    }
}
