﻿:root {
    --width: 262px;
    --gap: 1.5rem;
    --heigth: 350px;
    --speed: 500ms;
}

.g-5, .gx-5 {
    --bs-gutter-x: 3rem !important;
}

.g-4, .gx-4 {
    --bs-gutter-x: 1.5rem !important;
}

.g-3, .gx-3 {
    --bs-gutter-x: 1rem !important;
}

.form-control.search {
    color: black !important;
}

.nav-pagination ul li .page-link {
    background-color: transparent;
    border: none;
    color: rgba(71, 159, 204, 1) !important;
}

.nav-pagination li {
    padding: 5px;
    margin-right: 10px;
}

.nav-pagination li a {
    background-color: transparent !important;
    color: rgba(71, 159, 204, 1) !important;
    border: none !important;
}

.nav-pagination li.active {
    background-color: rgba(71, 159, 204, 1);
    border-radius: 10px;
}

.nav-pagination li.active a {
    background-color: rgba(71, 159, 204, 1) !important;
    border: none !important;
    color: white !important;
}

body {
    font-family: 'Open Sans';
    overflow-x: hidden;
}

.filter-content {
    overflow: hidden;
    padding-right: 150px;
    height: 0;
    opacity: 0;
    border-bottom: solid 0px #707A99;
    transition: height 0.3s ease-in-out, height ease-in 0.3s, opacity 0.2s ease-in-out, padding 0.3s ease-in;
}

    .filter-content.show {
        min-height: 130px;
        height: fit-content;
        opacity: 1;
        border-bottom: solid 1px #707A99;
        padding-top: 25px;
    }

#app select {
    background: url("data:image/svg+xml,%3Csvg height='10px' width='10px' viewBox='0 0 16 16' fill='%23479FCC' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E") no-repeat;
    background-position: calc(100% - 0.75rem) center !important;
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: white;
    background-size: 20px;
}

.container-event:hover .box-event-description {
    border-radius: 10px;
}

.container-event .event-img {
    border-radius: 10px;
}

#app {
    background: linear-gradient(to bottom, #202C51 0%, #0C1226 15%, #0C1226 85%, #202C51 100%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.main .slider {
    height: 75vh;
}

.cards-events-filter .cards {
    max-width: 1400px;
    margin: auto;
}

.slider {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

#app .item:not(:first-child) {
    box-shadow: 0px 0px 10px 2px rgba(255, 255, 255, 1);
}

#app .item {
    display: flex;
    align-items: center;
    width: var(--width);
    height: var(--heigth);
    /*height: calc(var(--width) * 1.5);*/
    position: absolute;
    z-index: 1;
    transition: left var(--speed), width var(--speed), height var(--speed), border-radius var(--speed), opacity var(--speed);
    transition-timing-function: ease-out;
    transform-origin: center;
    overflow: hidden;
    will-change: transform, opacity;
    display: none;
}

    #app .item:nth-child(1) {
        display: block;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 1;
        filter: blur(0);
    }

    #app .item:not(.one):not(.left):not(.center):not(.right) img:first-child {
        display: none;
        opacity: 0;
        transition: opacity 0.5s ease-in-out;
    }

    #app .item::after {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        box-shadow: 0px 0px 50px 25px rgba(0, 0, 0, 0.25) inset;
        transition: box-shadow var(--speed);
        will-change: transform, opacity;
    }

    #app .item img {
        position: relative;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: left;
    }

    #app .item.one {
        right: 20px;
        display: block;
        opacity: 1;
    }

    #app .item.left {
        left: 60%;
        display: block;
        opacity: 1;
    }

    #app .item.center {
        left: calc(60% + var(--width) + var(--gap));
        transition-delay: calc(var(--speed) * 0.2);
        display: block;
        opacity: 1;
    }

    #app .item.right {
        left: calc(60% + calc(var(--width) * 2) + calc(var(--gap) * 2));
        transition-delay: calc(var(--speed) * 0.4);
        display: block;
        opacity: 1;
    }

    #app .item.oculto {
        left: calc(60% + calc(var(--width) * 3) + calc(var(--gap) * 3));
        opacity: 0;
        transition-delay: calc(var(--speed) * 0.6);
        display: block;
        opacity: 1;
    }

/*#app .item:nth-child(5) {
        left: calc(60% + calc(var(--width) * 3) + calc(var(--gap) * 3));
        opacity: 0;
        transition-delay: calc(var(--speed) * 0.6);
        display: block;
        opacity: 1;
    }*/

.detail-event {
    color: white;
    background-color: rgba(32, 44, 81, 1);
}

.btn-go-to-description {
    width: 60px;
    height: 90px;
    border-radius: 100px;
    background-color: rgba(25, 49, 74, 1);
    border: 1px solid rgba(71, 159, 204, 1);
    cursor: pointer;
    position: absolute;
    margin-top: -90px;
    z-index: 1;
    left: 70px;
}

    .btn-go-to-description div {
        margin: auto;
        transition: transform 0.5s ease-in-out, color 0.5s ease-in-out;
        transform: translateY(0);
    }

    .btn-go-to-description:hover div {
        transform: translateY(15px);
        color: rgba(255, 202, 5, 1);
    }

.btn-link-event {
    width: fit-content;
    cursor: pointer;
    color: white;
    background-color: black;
    padding: 10px;
    border: 1px solid rgba(71, 159, 204, 1);
    border-radius: 10px;
/*    position: absolute;
    right: 0;*/
    /*margin-top: 50px;*/
}
}

.detail-event .title,
.detail-event .event-description {
    font-size: 19px;
}

.detail-event .details {
    width: 100%;
    background-color: black;
    border-radius: 10px;
    border: 1px solid rgba(71, 159, 204, 1);
    text-align: center;
}

.border-blue-bottom {
    border-bottom: 1px solid rgba(71, 159, 204, 1);
}

.border-blue-top {
    border-top: 1px solid rgba(71, 159, 204, 1);
}

.filter {
    position: absolute;
    z-index: 2;
    right: 0;
    background-color: rgba(25, 49, 74, 1);
    border: 1px solid rgba(71, 159, 204, 1);
    margin-top: 50px;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    padding-top: 7px;
    padding-bottom: 3px;
    border-right: unset;
    cursor: pointer;
}

/*nav estilos*/



/* Estilos de la paginación */
.pagination-swiper {
    position: relative;
    width: 100%;
    margin-top: 10px;
}

.bullets-wrapper {
    position: relative;
    width: 220px;
    height: 30px;
    /*margin: 0 auto;*/
    overflow: hidden;
    display: flex;
    align-items: center;
}

.bullet {
    position: absolute;
    background: white; /* Color blanco por defecto */
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    transform-origin: center;
}

.bullet.small {
    cursor: unset;
}

/* Tamaño base de los bullets */
.bullet {
    width: 10px;
    height: 10px;
}

.noClick {
    pointer-events: none;
}

/* Clases para tamaño */
.bullet.small {
    /* Los bullets pequeños ya tienen 10px */
}

.bullet.medium {
    width: 16px;
    height: 16px;
}

.bullet.active {
    width: 50px;
    height: 16px;
    background: #FFCA05; /* Color amarillo */
    border-radius: 10px;
}

.bullet.hidden {
    opacity: 0;
    pointer-events: none;
    display: none;
}

.main .pagination-swiper {
    position: absolute;
    margin-top: -50px;
    z-index: 1;
    padding-left: 50%;
    /*left: 160px;*/
}

.fa-filter, .fa-minus {
    color: white;
    font-size: 20px;
    transform: rotateY(180deg);
    padding: 6px;
}

.fa-search {
    font-size: 21px;
}

.cards-events-filter label {
    color: white;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: .3rem !important;
}

.cards-events-filter select {
    font-size: 16px;
    font-weight: 600;
    padding: 8px;
}

.cards-events-filter .btn-eventos-proximos {
    background-color: rgba(25, 49, 74, 1);
    border: 1px solid rgba(71, 159, 204, 1);
    border-radius: 10px;
    cursor: pointer;
    color: white;
    padding: 8px;
}

.cards-events-filter .search {
    font-size: 16px;
    border-radius: unset;
    border-right: unset;
    border-color: rgba(71, 159, 204, 1);
    border-top-left-radius: 10px !important;
    border-bottom-left-radius: 10px !important;
    padding: 8px;
    font-weight: 600;
}

.cards-events-filter .btn-search {
    border-radius: unset;
    background-color: white;
    color: rgba(71, 159, 204, 1);
    border-color: rgba(71, 159, 204, 1);
    border-left: unset;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 10px;
}

/*end nav estilos*/

@keyframes show {
    0% {
        filter: blur(10px);
    }

    100% {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
    }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .filter-content.show {
        height: 70px !important;
    }

    .filter {
        margin-top: 50px !important;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {

}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) and (max-width: 1399.98px) {

}

/* Extra extra large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {

}

@media (width > 650px) and (width < 900px) {
    .item {
        width: 160px;
        height: 270px;
    }

        .item:nth-child(3) {
            left: 50%;
        }

        .item:nth-child(4) {
            left: calc(50% + 170px);
        }

        .item:nth-child(5) {
            left: calc(50% + 340px);
        }

        .item:nth-child(6) {
            left: calc(50% + 510px);
            opacity: 0;
        }
}

@media (width < 650px) {
    .item {
        width: 130px;
        height: 220px;
    }

        .item:nth-child(3) {
            left: 50%;
        }

        .item:nth-child(4) {
            left: calc(50% + 140px);
        }

        .item:nth-child(5) {
            left: calc(50% + 280px);
        }

        .item:nth-child(6) {
            left: calc(50% + 420px);
            opacity: 0;
        }
}
