:root{
    --swiper-theme-color: var(--color-primary);
    --swiper-pagination-color: var(--color-primary);
    --swiper-navigation-color: var(--color-primary);
    --swiper-pagination-bullet-inactive-color: var(--gray);
}

h2 {
    color: var(--color-primary-dark) !important;
    font-size: 36px !important;
    line-height: 40px !important;
    font-weight: 600 !important;
    font-family: "Livvic", sans-serif !important;
    margin: 0;
}

h3 {
    color: var(--color-primary-dark) !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    font-family: "Livvic", sans-serif !important;
    margin: 0;
}

p {
    font-family: "Poppins", sans-serif !important;
    margin: 0;
}

/* ============================= */
/* START - Helpers */
/* ============================= */
.font-livvic {
    font-family: "Livvic", sans-serif !important;
}
.font-poppins {
    font-family: "Poppins", sans-serif !important;
}

.drop-shadow-container {
    box-shadow: 0 4px 26px 5px var(--color-primary-dark-30);
}

.gradient-primary {
    background: linear-gradient(to bottom, var(--color-primary-light), var(--color-primary-lighter));
}

.support-research-section {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0.15%, rgba(0, 0, 0, 0.24) 99.85%), #035D72;
}

.footer-section {
    position: relative;
    background: linear-gradient(to right, var(--color-primary-light), var(--color-primary));
    border-radius: var(--radius-semilarge);
    padding: calc(var(--spacing) * 16);
}
.footer-section.footer-section__large h2 {
    margin-bottom: calc(var(--spacing) * 2);
}
.footer-section:not(.footer-section__large) {
    padding: calc(var(--spacing) * 8);
    background: var(--color-primary-light);
}
.footer-section .footer-section__image {
    position: absolute;
    top: 0;
    right: 0;
}
.footer-section .footer-section__image.footer-section__image-bottom {
    top: unset;
    bottom: -8px;
}

.max-width-container {
    max-width: var(--max-width);
    margin: auto;
    padding-inline: calc(var(--spacing) * 4);
}

.home-hero {
    height: 845px;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.marquee {
    position: relative;
    overflow: hidden;
    display: flex;
}
#support-research-marquee::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 200px;
    height: 100%;
    background: linear-gradient(to right, var(--color-primary-dark-80), transparent);
}
#support-research-marquee::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 100%;
    background: linear-gradient(to left, var(--color-primary-dark-80), transparent);
}

/* ============================= */
/* END - Helpers */
/* ============================= */

/* ============================= */
/* START - Carousels */
/* ============================= */

.carousel {
    .swiper-custom-button-next,
    .swiper-custom-button-prev {
        z-index: 10000;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 56px;
        height: 56px;
        display: grid;
        place-items: center;
        border: 3px solid #fff;
        border-radius: 100%;
        color: #fff;
    }

    .swiper-custom-button-prev {
        left: calc(var(--spacing) * 8);
    }
    .swiper-custom-button-next {
        right: calc(var(--spacing) * 8);
        scale: calc(100% * -1) var(--tw-scale-y);
    }

    .swiper-custom-button-next:hover,
    .swiper-custom-button-prev:hover {
        background: #fff;
        border: 3px solid #fff;
        color: var(--color-primary-dark);
    }

    .swiper-slide {
        position: relative;
    }
}


.search-discover-carousel .swiper-slide {
    height: 420px;
}
.search-discover-carousel .swiper-slide img {
    z-index: 1;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: var(--radius-semilarge);
}
.search-discover-carousel .swiper-slide::before {
    z-index: 10;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .5));
    border-radius: var(--radius-semilarge);
}
.search-discover-carousel .swiper-slide .slide-content {
    z-index: 11;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: calc(var(--spacing) * 8);
}
.search-discover-carousel .swiper-slide .slide-content h4,
.search-discover-carousel .swiper-slide .slide-content p {
    color: #fff !important;
}
.search-discover-carousel .swiper-slide .slide-content h4 {
    font-size: 24px;
    line-height: 25px;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
}
.search-discover-carousel .swiper-slide .slide-content h4:not(:has(+ p)) {
    margin-bottom: 0;
}
.search-discover-carousel .swiper-slide .slide-content p {
    font-size: 16px;
    font-weight: 500;
    font-family: "Poppins", sans-serif;
    margin-bottom: 0;
}

/* ==== */
.support-research-carousel .swiper-slide {
    height: 545px;
}
.support-research-carousel .swiper-slide img {
    z-index: 1;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 545px;
    object-fit: cover;
    border-radius: var(--radius-semilarge);
}
.support-research-carousel .swiper-slide::before {
    z-index: 10;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 0%, #fff 80%, #fff 100%);
    border-radius: var(--radius-semilarge);
}
.support-research-carousel .swiper-slide .slide-content {
    z-index: 11;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: calc(var(--spacing) * 8);
}

/* ============================= */
/* END - Carousels */
/* ============================= */

/*recaptcha*/
.grecaptcha-badge {
    visibility: hidden;
}

/* Buttons */
.btn {
    text-align: center;
    padding: 0.5rem 1.25rem;
    border-radius: 22px;
    cursor: pointer;
    text-wrap: nowrap;

    @media screen and (max-width: 768px) {
        padding: 0.375rem 3rem;
    }
}

.desc-hero p {
    margin: 0 0 1rem 0 !important;
}

.desc-hero hr {
    margin: 0 !important;
}

/* Accordion */
.accordion {
    position: relative;
    cursor: pointer;
    padding: 1rem;
    width: 100%;
    text-align: left;
    border-left: 4px solid var(--color-primary);
    transition: 0.4s;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: -1px;
}

.accordion p {
    margin-bottom: 0 !important;
}

.accordion:after {
    content: "\+";
    transition: 0.4s;
    /*border: 1px solid var(--black);*/
    /*border: 1px solid var(--border_gray);*/
    border-radius: 50%;
    height: 2rem;
    width: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
}

.active:after {
    transform: rotate(45deg);
}

.panel {
    color: var(--color-gray);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.panel > div {
    padding: 1rem;
}

/* Cards grid */
.card-grid {
    grid-auto-rows: 1fr
}

.card p {
    margin-bottom: 0;
}

/* Carousel Temoignages */
/*.carousel_container {*/
/*    display: flex;*/
/*    overflow-x: auto;*/
/*    scroll-snap-type: x proximity;*/
/*    scroll-padding-inline: 0.5rem;*/
/*    scrollbar-width: none;*/
/*}*/
/*.swiper-button-next, .swiper-button-prev {*/
/*    top: 0 !important;*/
/*    bottom: 0 !important;*/
/*    width: var(--swiper-navigation-size) !important;*/
/*}*/

/*.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {*/
/*    content: 'prev' !important;*/
/*}*/

/*.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {*/
/*    content: 'next' !important;*/
/*}*/

.item {
    min-width: 100%;
    scroll-snap-align: start;
}

@media (min-width: 768px) and (pointer: fine) {
    .carousel_container {
        overflow: hidden;
    }
}

.item {
    padding: 1rem;
}

.navigations_btn {
    display: flex;
    justify-content: end;
}

.navigations_btn .items_nav {
    cursor: pointer;
    width: 36px;
    height: 36px;
}

.navigations_btn .items_nav::before {
    content: "";
    position: absolute;
    padding: 0.25rem;
    top: 0;
    left: 0;
    background-image: url(../img/arrow.svg);
    width: 2rem;
    height: 2rem;
}
