/* @group Grid Partners
------------------------------------ */

.grid-partners {
    --_b: 1px solid var(--tower-red);
    background: #f0dedb;
    border-top: none
}

.grid-partners .header-wrapper {
    background: var(--bodyBackground);
}

.grid-partners :is(h2, h3, i) {
    color: var(--tower-red);
}

.grid-teams .item {
    display: flex;
    flex-direction: column;
}

.grid-partners .content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    position: relative;
    padding-right: 2.8rem;
    gap: .5rem;
    text-align: left;
    color: var(--tower-red);
    flex: 1;
    justify-content: flex-start;
}

.grid-partners .has-body-small-font-size {
    --fs: 1.5rem;
    --lh: 1.45em;
}

.grid-partners .items {

    --gap-desktop: 0rem;
    --gap-mobile: 0rem;
}

.grid-partners hr {
    color: var(--tower-red);
    border-top: 1px solid;
    margin: 0;
    margin-bottom: -1px;
}

.grid-partners .item>* {
    pointer-events: none;
}



.grid-partners .item:nth-child(even) {
    border-inline: none;
}

.grid-partners .img-box img {
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.grid-partners .has-heading-subhead-font-size {
    text-transform: uppercase;
    --fs: 1.5rem;
}

.grid-partners .content i {
    position: absolute;
    top: 1.2rem;
    right: 0;
}

@media only screen and (min-width : 961px) {

    .grid-partners {
        border: none;
    }



    .grid-partners .header-wrapper {
        padding-bottom: 2.5rem;
    }


    .grid-partners .content {
        padding-block: 0.8rem;
    }

    .grid-partners .content i {
        font-size: 2.5rem;
        right: 1rem;
        top: .8rem;
    }

    .grid-partners .has-body-small-font-size {
        --ls: .0133em;
    }

    .grid-partners .img-box {
        height: 46.1rem;
    }

    .grid-partners .content {
        border-top: var(--_b);
        padding-block: 0.7rem;
        padding-inline: 1rem
    }

    .grid-partners .item {
        border: var(--_b);
        border-bottom: none;
    }


    .grid-partners .img-box {
        margin: 1rem;
    }

    .grid-partners .items {
        margin-top: -2px;
        --gap-desktop-vertical: 5.4rem;
    }
}

@media only screen and (min-width : 0) and (max-width : 960px) {

    .grid-partners hr {
        border: none;
        outline: none;
        height: 1px;
        background: var(--tower-red);
        margin: 0;
        margin-bottom: -1px;
    }

    .grid-partners {
        /* border-top: var(--_b); */
        border-bottom: none;
    }

    .grid-partners .header-wrapper {
        padding-bottom: 2rem;
    }

    .grid-partners .content i {
        font-size: 2.25rem;
    }

    .grid-partners .items {
        padding-top: 3rem;
        --gap-mobile-vertical: 2.4rem;
    }

    .grid-partners .content {
        padding-block: 1.2rem;

    }

    .grid-partners .item:not(:last-child) {
        border-bottom: var(--_b);
    }

    .grid-partners .img-box {
        height: 90.9vw;
    }

    .grid-partners .items .img-box {
        border: var(--_b);
    }

    .grid-partners .content {
        padding-top: 1.2rem;
    }
}

/* @end */


/* OVERLAY */

#overlay[data-slug="partners"] {
    overflow: visible;
}


#overlay[data-slug="partners"] .splide__arrow {
    display: none;
}


#overlay[data-slug="partners"] .splide {
    background: var(--white);
    padding: var(--p-splide);
}

#overlay[data-slug="partners"] .splide__slide {
    display: flex;
    padding: var(--p-slide);
    border: 1px solid var(--tower-red);
}

#overlay[data-slug="partners"] .splide__slide::-webkit-scrollbar {
    width: .7rem;
    background-color: transparent;
    border-left: var(--_b);
}

#overlay[data-slug="partners"] .splide__slide::-webkit-scrollbar-thumb {
    background-color: var(--tower-red);
    border-radius: 2.5rem;
}

#overlay[data-slug="partners"] .splide__slide .img-box {
    width: 100%;

}

#overlay[data-slug="partners"] .splide__slide .img-box img {
    object-fit: cover;
}

#overlay[data-slug="partners"] .row {
    position: relative
}

#overlay[data-slug="partners"] .row>header {
    position: absolute;
    top: 0;
    z-index: 1;
    --_p: var(--p-splide) + var(--p-slide);
    padding: calc(var(--_p) * 0.5);
}

#overlay[data-slug="partners"] .splide__slide article {
    display: flex;
    flex-direction: column;
}

#overlay[data-slug="partners"] .splide__slide header {
    color: var(--tower-red);
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

#overlay[data-slug="partners"] .splide__slide article>p {
    color: var(--black);
}

#overlay[data-slug="partners"] .has-heading-subhead-font-size {
    text-transform: uppercase;
}

@media only screen and (min-width : 0) and (max-width : 960px) {
    #overlay[data-slug="partners"] {
        --p-splide: 1rem;
        --p-slide: 2rem;

        padding: 0;
        margin: 0;
        max-height: none;
        top: 1rem;
        height: 100vh;
    }

    #overlay[data-slug="partners"] .container {
        height: 100%;
    }

    #overlay[data-slug="partners"] .row {
        padding: 0 !important;
    }

    #overlay[data-slug="partners"] .splide__slide {
        gap: 3rem;
        --_p: var(--p-splide) + var(--p-slide);
        height: calc(100vh - var(--_p) - 6rem);
        overflow: auto;
    }

    #overlay[data-slug="partners"] .splide__slide article {
        gap: 3.1rem;
    }

    #overlay[data-slug="partners"] .splide__slide .img-box {
        height: 42rem;
    }

    #overlay[data-slug="partners"] #close-dialog {
        padding: 1.2rem;
        background: var(--white);
        transition: 0;
    }

    #overlay[data-slug="partners"]:has(.scrolled) #close-dialog {
        opacity: 0;
        pointer-events: none;
    }

    #overlay[data-slug="partners"] #close-dialog i {
        font-size: 3rem;
    }
}

@media only screen and (min-width : 961px) {


    #overlay[data-slug="partners"] {
        --nav-h: 7rem;
        --_h: calc(92vh - (var(--nav-h) * 1));
        transform: translate(0, calc(var(--nav-h) * 0.5));
        top: 50%;
        translate: 0 -50%;
        bottom: unset;
    }


    #overlay[data-slug="partners"] {
        --p-splide: 1.7rem;
        --p-slide: 1.8rem;
    }

    #overlay[data-slug="partners"] .splide {
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    }

    #overlay[data-slug="partners"] .splide__slide {
        height: calc(var(--_h) - var(--p-splide) - var(--p-slide));
        gap: 2.8rem;
        align-items: stretch;
        overflow: auto;
        flex-wrap: nowrap;
    }


    #overlay[data-slug="partners"] .splide__slide .img-box {
        flex: 0 0 51.8rem;
        height: 100%;
        position: sticky;
        top: 0;
    }

    #overlay[data-slug="partners"] .splide__slide article {
        flex: 0 0 58.3rem;
        gap: 2.5rem;
        padding-top: 2rem;
    }

    #overlay[data-slug="partners"] .splide__slide article>p {
        padding-bottom: 2rem;
    }

    #overlay[data-slug="partners"] #close-dialog i {
        font-size: 4rem;
    }
}

/* Animations
------------------------------------ */
:where(#wrapper) .contenedor .elemento {
    opacity: 0;
    --duration: 1s;
}

:where(#wrapper) .contenedor.animateActive .elemento {
    animation: fade var(--duration) forwards;
    animation-delay: var(--delay, 0);
}

:where(#wrapper) .contenedor.animateActive .elemento {
    --delay: 0.3s;
}