﻿
:root {
    --portal1: #163967;
    --portal2: #4adb79;
    --portal3: #fff;
}

@media print {
    body {
        -webkit-print-color-adjust: exact;
    }
}

@page {
    size: A4 portrait;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    margin: 0;
    -webkit-print-color-adjust: exact;
}

.portal-header {
    padding: 0vh 1vh;
    margin: 2vh 4vw !important;
    border-radius: 15px;
    width: 70%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-56%, 0);
    z-index: 1;
    min-height: 50vh;
}

    .portal-header a {
        color: white;
        font-size: 15px;
        font-weight: bold;
        padding: 0 1vw !important
    }

.carousel-caption {
    bottom: 37%;
}

.carousel-item {
    height: 38vw;
    background-size: cover;
    background-position: center;
}

.carousel-inner {
    height: 38vw;
}

.row {
    margin: 0;
}

.portal-image {
    background-image: linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)), url('../../images/portal/img_banner.png');
    background-size: cover;
    background-position: center;
    min-height: 400px;
    color: white;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}


.portal-title {
    padding-left: 14vw;
    padding-right: 14vw;
    padding-top: 3vw;
    padding-bottom: 1vw;
    color: var(--portal3);
    font-size: 2.5rem;
    text-align: center;
    font-weight: bold;
}

    .portal-subtitle {
        font-size: 1.2rem;
        font-weight: 400;
    }



.portal-data {
    background-color: #f3f5f7;
    border-radius: 0 0 50px 50px;
    padding: 3vw 14vw;
    box-shadow: 0px 50px 0px 0px var(--portal1);
    -webkit-box-shadow: 0px 50px 0px 0px var(--portal1);
    -moz-box-shadow: 0px 50px 0px 0px var(--portal1);        
}

    .portal-data .item {
        background-color: white;
        border-radius: 10px;
        box-shadow: 0px 0px 5px 0px gray;
        padding: 1vw;
        margin: 1vw 1vw;
        line-height: 1.5vw;
    }

        .portal-data .item .item-image {
            background: linear-gradient( 135deg, #4A90C2 0%, /* Celeste oscuro */
            #2F5DA9 50%, /* Azul intermedio */
            #0B1F4D 100% /* Azul marino */
            );
            background-size: cover;
            background-position: center;
            height: 220px;
            border-radius: 10px;
            -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
        }

        .portal-data .item .item-title {
            color: var(--portal1);
            font-weight: bold;
            font-size: 16px;
            padding-top: 1vw;
        }

        .portal-data .item .item-place {
            color: #6c757d;
            font-size: 12px;
        }

        .portal-data .item .item-cost {
            color: #6c757d;
            font-size: 12px;
        }

        .portal-data .item .item-modality {
            color: #6c757d;
            font-size: 12px;
        }

        .portal-data .item .item-section {
            color: #6c757d;
            font-size: 12px;
        }

        .portal-data .item .item-date {
            color: #6c757d;
            font-size: 12px;
        }

        .portal-data .item .item-button {
            padding: 1vw;
            text-align: right;
        }

            .portal-data .item .item-button a {
                color: white;
                background-color: var(--portal2);
                padding: 0.5vw 1.5vw;
                border-radius: 5px;
                border: 0;
                font-weight: bold;
            }

.back a {
    color: white;
    background-color: var(--portal2);
    padding: 0.5vw 1.5vw;
    border-radius: 5px;
    border: 0;
    font-weight: bold;
    line-height: 3vw;
    margin: 1vw;
}

div>a {
    color: var(--portal2);
    background-color: white;
    padding: 0.3vw 1.2vw;
    border-radius: 5px;
    border: 0;
    font-weight: bold;
    border: 1px solid var(--portal2);
}

.portal-content-title {
    padding-left: 3vw;
    padding-right: 3vw;
    padding-bottom: 1vw;
    color: var(--portal1);
    font-size: 24px;
    text-align: center;
    font-weight: bold;
}

.page {
    cursor: pointer;
    text-align: center;
    display: inline-block;
    padding: 8px 14px;
    margin-right: 4px;
    border-radius: 3px;
    border: solid 1px #c0c0c0;
    background: #e9e9e9;
    box-shadow: inset 0px 1px 0px rgba(255,255,255, .8), 0px 1px 3px rgba(0,0,0, .1);
    font-size: .875em;
    font-weight: bold;
    text-decoration: none;
    color: #717171;
    text-shadow: 0px 1px 0px rgba(255,255,255, 1);
    user-select: none;
}

    .page:hover, .page.gradient:hover {
        background: #fefefe;
        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FEFEFE), to(#f0f0f0));
        background: -moz-linear-gradient(0% 0% 270deg,#FEFEFE, #f0f0f0);
    }

    .page.active {
        pointer-events: none;
        border: solid 1px #616161;
        background: #616161;
        box-shadow: inset 0px 0px 8px rgba(0,0,0, .5), 0px 1px 0px rgba(255,255,255, .8);
        color: #f0f0f0;
        text-shadow: 0px 0px 3px rgba(0,0,0, .5);
    }

.portal-item-image {
    background-image: url('../../images/portal/img_banner.png');
    background-position: center;
    border-radius: 0px 0px 50px 50px;
    background-size: cover !important;
    height: 77.5vh;
    color: white;
    padding: 150px 15vw 15vw 15vw;
    box-shadow: 0px 50px 0px 0px white;
    -webkit-box-shadow: 0px 50px 0px 0px white;
    -moz-box-shadow: 0px 50px 0px 0px white;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

    .portal-item-image div {
    }

        .portal-item-image div  {
            font-size: 36px;
            font-weight: bold;
        }

        .portal-item-image div img {
            max-height: 250px;
            border: 1px white solid;
            border-radius: 20px;
        }

        .portal-item-image div .back a {
            color: white;
        }

        .portal-item-image div .type label {
            background-color: var(--portal2);
            border-radius: 12px;
            padding: 6px 20px;
        }

.portal-item-title {
    padding: 1.5vw 10vw;
    border-radius: 0px 0px 50px 50px;
    box-shadow: 0px 50px 0px 0px var(--portal1);
    -webkit-box-shadow: 0px 50px 0px 0px var(--portal1);
    -moz-box-shadow: 0px 50px 0px 0px var(--portal1);
}

    .portal-item-title .title {
        font-weight: bold;
        font-size: 20px;
        padding: 1vw;
        margin: 0;
    }

    .portal-item-title .subtitle {
        color: var(--portal1);
        font-size: 15px;
    }

    .portal-item-title .item-image {
        background-image: url(../../images/portal/img_curso1.png);
        background-size: cover;
        background-position: center;
        height: 250px;
        border-radius: 10px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .portal-item-title .icon {
        height: 20px;
        margin-right: 5px;
    }

.btn {
    padding: 10px 20px;
    margin: 20px 0;
}

.btn-primary, .btn-primary:active, .btn-primary:hover {
    background-color: var(--portal2) !important;
}

.portal-footer {
    background-color: var(--portal1);
    padding: 3.5vw 15vw;
    color: white;
    font-size: 10px;
}

    .portal-footer .footer-title {
        font-weight: bold;
        font-size: 13px;
    }

.portal-image-detail {
    box-shadow: 0px 50px 0px 0px #f3f5f7;
    -webkit-box-shadow: 0px 50px 0px 0px #f3f5f7;
    -moz-box-shadow: 0px 50px 0px 0px #f3f5f7;
}

.portal-data-detail {
    box-shadow: 0px 50px 0px 0px var(--portal1);
    -webkit-box-shadow: 0px 50px 0px 0px var(--portal1);
    -moz-box-shadow: 0px 50px 0px 0px var(--portal1);
}



@media (max-width: 768px) {
    .portal-header {
        margin: 2vh 4vw !important;
        width: 90%;
    }

        .portal-header li {
            padding: 0 0 0 5px;
        }

            .portal-header li img.desktop {
                display: none;
            }

            .portal-header li img.mobile {
                display: block !important;
                height: 30px;
            }

        .portal-header a {
            padding: 0 0vw !important;
        }

    .portal-image {
        padding: 20vw 5vw;
    }

    .portal-footer > div {
        margin: 1vw 0;
    }

    .portal-item-image div {
        font-size: 4vw;
    }

    .portal-item-image img {
        display: none;
    }

    .portal-item-image {
        padding: 100px 5vw 5vw 5vw;
    }

    .portal-item-title {
        padding: 1.5vw 5vw;
    }
}


.portal-data .item {
    position: relative;
}

    .portal-data .item .item-image {
        position: relative;
        overflow: hidden;
    }

    .portal-data .item .item-type {
        position: absolute;
        top: 12px;
        left: 12px;
        background: #163967;
        color: #fff;
        padding: 6px 14px;
        border-radius: 20px;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        box-shadow: 0 2px 8px rgba(0,0,0,.25);
    }

    .portal-data .item .item-days {
        position: absolute;
        top: 12px;
        right: 12px;
        color: #163967;
        padding: 6px 12px;
        border-radius: 20px;
        font-size: 12px;
        box-shadow: 0 2px 8px rgba(0,0,0,.2);
        text-align: right;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        color: #fff;
        gap: 0px; /* espacio entre div internos */
        line-height: 12px; /* altura de línea */
    }
.item-type.event {
    background: #163967;
}

.item-type.grantcall {
    background: #4adb79;
}

.portal-image-color {
    background: linear-gradient(90deg,#154b88,#0d82b8);
    min-height: 400px;
    display: flex;
    align-items: end;
}

#content-head {
    position: static;
    width: 100%;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    padding: 0;
}

.portal-detail-title {
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 15px;
}

.portal-detail-subtitle {
    color: #fff;
    font-size: 14px;
}

.portal-detail-image {
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 150px;
}

    .portal-detail-image img {
        max-height: 150px;
    }