@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@700&family=Inter:wght@400;500;700&family=Maven+Pro:wght@400;700;900&display=swap');


:root {
    --primary-color: #fff;
    --secondary-color: #000000;
    --accent: #bf0b30;
    --text-color: #555555;
    --button-color: #222f64;
    --centinelas-blue: #0040bf;
    --centinelas-lightblue: #58ffe2;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: var(--text-color);
    font-family: 'Inter', sans-serif;
}

/* generics start */
h1 {
    font-size: 60px;
    line-height: 60px;
    font-weight: 700;
    color: var(--secondary-color);
    font-family: 'Montserrat', sans-serif;
}

h2 {
    font-size: 40px;
    line-height: 40px;
    font-weight: 700;
    color: var(--centinelas-blue);
    font-family: 'Montserrat', sans-serif;
}

h3 {
    font-size: 30px;
    line-height: 36px;
    font-weight: 700;
    color: var(--centinelas-blue);
    font-family: 'Montserrat', sans-serif;
}

h4 {
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
    color: var(--secondary-color);
    font-family: 'Montserrat', sans-serif;
}

/* dark bg font color white */
.alt {
    line-height: 40px;
    font-weight: 700;
    color: var(--primary-color);
    font-family: 'Montserrat', sans-serif;
}

.altp {
    line-height: 20px;
    color: var(--primary-color);
    font-family: 'Montserrat', sans-serif;
}

.small-txt {
    font-size: 16px;
    line-height: 24px;
    color: var(--accent);
    position: relative;
    padding-bottom: 13px;
}

span.small-txt::before {
    content: "";
    background: var(--accent);
    width: 60px;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.generic-title span {
    margin-bottom: 22px;
}

.generic-title {
    margin-bottom: 55px;
}

.padding-top {
    padding-top: 50px;
}

.padding-bottom {
    padding-bottom: 50px;
}

a:hover {
    text-decoration: none;
}

.light-bg {
    background: #f9fafe;
}

/* header section styling start here */
.header-main-con {
    position: absolute;
    z-index: 9999;
    top: 0;
}

.header-main-con .navbar {
    padding: 20px 0;
}

.header-main-con .navbar-light .navbar-nav .nav-link {
    color: #0040bf;
    position: relative;
    transition: .3s ease-in-out;
}

.header-main-con .navbar-light .navbar-nav .nav-link:hover {
    color: var(--button-color);
}

.header-main-con .navbar-light .navbar-nav .nav-link.active {
    color: var(--button-color);
}

.header-main-con .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
    width: 240px;
    top: 19px;
    background: transparent;
    border: 0;
    padding: 20px 0;
}

.header2-main-con .navbar-expand-lg .navbar-nav .dropdown-menu {
    border-radius: 0;
}

.header-main-con .navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item {
    color: var(--primary-color);
    background: transparent;
    transition: .3s ease-in-out;
    padding: 5px 10px;
    margin-bottom: 1px;
}

.header2-main-con .navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item {
    border-radius: 0;
}

.header-main-con .navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item:hover {
    color: var(--primary-color);
    background: var(--accent);
}

.header-main-con .navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item.active,
.header-main-con .navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item:active {
    color: var(--primary-color);
    background: var(--accent);
}

.header-main-con .navbar-expand-lg .navbar-nav .dropdown-menu ul {
    position: absolute;
    background: var(--button-color);
    border: 0;
    border-radius: 0;
    width: 100%;
    padding: 15px;
    top: 20px;
}

.header-main-con .container-fluid {
    padding: 0 6%;
}

.header-main-con .navbar-nav {
    gap: 55px;
}

/* Estado inicial: Iconos negros y borde negro */
.header-main-con .nav-btns ul li a {
    display: flex;
    /* Para centrar el icono */
    align-items: center;
    justify-content: center;
    width: 40px;
    /* Tamaño del círculo */
    height: 40px;
    background-color: var(--button-color) !important;
    /* Fuerza el Azul Institucional */
    border-radius: 50%;
    /* Hace el fondo circular */
    transition: all 0.3s ease;
    /* Hace que el cambio de color sea suave */
    margin-left: 10px;
    text-decoration: none;
}

.nav-btns ul li a i {
    color: #ffffff !important;
    /* Asegura que el icono sea blanco */
    font-size: 16px;
}

/* Estado Hover: Fondo azul oscuro e iconos blancos */
.header-main-con .nav-btns ul li a:hover {
    background-color: var(--accent) !important;
    /* Cambia al Rojo (#bf0b30) */
    transform: translateY(-3px);
    /* Efecto opcional de salto */
}

.header-main-con .nav-btns ul {
    gap: 10px;
}



.header-main-con .donate-btn a {
    padding: 14px 31px 14px 32px;
    color: var(--primary-color);
    background: var(--secondary-color);
    transition: .3s ease-in-out;
}

.header-main-con .donate-btn a:hover {
    color: var(--primary-color);
    background: var(--button-color);
}

.header-main-con .donate-btn {
    margin-left: 10px;
    margin-right: 31px;
}

.header-main-con .header-contact-btn a {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color);
    transition: .3s ease-in-out;
}

.header-main-con .header-contact-btn a:hover {
    color: var(--button-color);
}

.header-main-con .navbar .collapse.navbar-collapse {
    justify-content: end;
    margin-right: 63px;
}

.header-main-con .navbar-light .navbar-brand {
    margin-left: -5px;
    padding: 0;
}

.header2-main-con .navbar-expand-lg .navbar-nav .dropdown-menu ul {
    top: 31px;
    border-radius: 0;
}

/* header section styling end here */
/* banner section styling start here */
.banner-main-section {
    /* Establece la imagen de fondo completa */
    background: url(../images/banner-right-img.jpg) no-repeat center;
    background-size: cover;
    position: relative;
    padding-top: 145px;
}

/* Quita el fondo parcial que estaba a la derecha */
.banner-main-section::after {
    content: none;
}

.banner-main-section .container-fluid {
    padding: 0 13%;
}

.banner-main-section .banner-inner-con {
    display: grid;
    gap: 0;
    grid-template-columns: 40% 63%;
    align-items: center;
    position: relative;
    z-index: 1;
    width: 1410px;
    margin: 0 auto;
}

.banner-left-con span {
    font-size: 36px;
    line-height: 40px;
    font-weight: 700;
    color: var(--accent);
    font-family: 'Montserrat', cursive;
    margin-bottom: 7px;
}

.banner-left-con p {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 32px;
    color: var(--secondary-color);
}

.banner-left-con .banner-btn a {
    font-size: 18px;
    line-height: 24px;
    font-weight: bolder;
    padding: 24px 51px 25px 50px;
    color: var(--button-color);
    border: solid 2px var(--button-color);
    background: var(--primary-color);
    display: inline-block;
    transition: .3s ease-in-out;
}

.banner-left-con .banner-btn a:hover {
    background: var(--accent);
    color: var(--primary-color);
}

.banner-left-con h1 {
    margin-left: -4px;
    margin-bottom: 20px;
    color: #0040bf;
    ;
}

.banner-left-con {
    position: relative;
}

.banner-left-con::after {
    content: "";
    background: url(../images/banner-arrow-img.png) no-repeat;
    background-size: cover;
    width: 199px;
    height: 106px;
    position: absolute;
    right: -197px;
    top: 40px;
}

/* Quita la imagen banner-bottom-img.png */
.banner-main-section::before {
    content: none;
}

/* banner section styling end here */
/* mission section styling start here */
.mission-inner-con {
    display: grid;
    gap: 30px;
    grid-template-columns: 31.5% 31.5% 31.5%;
    margin-bottom: 100px;
}

.mission-con {
    padding: 49px 30px;
    border: 1px solid #eeeeee;
    display: flex;
    flex-direction: column;
    transition: .3s ease-in-out;
}

.mission-con:hover {
    border-color: var(--accent);
}

.mission-con figure {
    margin-bottom: 34px;
    transition: .3s ease-in-out;
}

.mission-con:hover figure {
    transform: translateY(8px);
}

.mission-con h4 {
    margin-bottom: 20px;
}

.mission-con p {
    margin-bottom: 25px;
}

.generic-btn a i {
    margin-right: 5px;
}

.generic-btn a {
    padding: 24px 51px 25px 50px;
    color: var(--button-color);
    border: solid 2px var(--button-color);
    background: var(--primary-color);
    display: inline-block;
    transition: .3s ease-in-out;
    font-weight: bolder;
    font-size: 18px;
}

.generic-btn a:hover {
    color: var(--primary-color);
    background: var(--accent);
}

.mission-con .generic-btn {
    margin-top: auto;
}

/* joining section styling start here */
.joining-main-con {
    position: relative;
    padding: 41px 48px 43px;
    background: linear-gradient(to right, rgb(19 76 148) 0%, rgb(248 228 196) 100%);
}

.joining-main-con::after {
    content: "";
    background: url(../images/joining-man-img.png) no-repeat;
    background-size: cover;
    width: 450px;
    height: 300px;
    position: absolute;
    right: 0px;
    bottom: 0;
}

.joining-inner-con {
    display: flex;
    /* Cambiado de grid a flex */
    flex-direction: column;
    /* Alineación vertical */
    align-items: flex-start;
    /* Alineado a la izquierda */
    gap: 25px;
    /* Espacio de separación entre texto y botón */
}

/* Aseguramos que el texto ocupe un buen ancho antes de chocar con la imagen */
.joining-inner-con h3 {
    max-width: 65%;
    color: var(--primary-color);
}

.joining-inner-con .generic-btn a {
    padding: 12px 27px;
    transition: .3s ease-in-out;
}

.joining-inner-con .generic-btn a:hover {
    background: var(--button-color);
}

@media (max-width: 767px) {

    /* 1. Contenedor principal: centramos contenido y damos espacio abajo para la imagen */
    .joining-main-con {
        padding: 40px 20px 300px 20px !important;
        /* El padding de 300px abajo reserva espacio para la imagen */
        text-align: center;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        overflow: hidden;
    }

    /* 2. Centramos el texto y el botón */
    .joining-inner-con {
        display: flex;
        flex-direction: column;
        align-items: center;
        /* Centra el botón */
        width: 100%;
    }

    .joining-inner-con h3 {
        max-width: 100%;
        font-size: 24px !important;
        /* Un poco más grande para legibilidad */
        line-height: 1.3;
        margin-bottom: 30px;
        text-align: center;
    }

    /* 3. La imagen de lado a lado al fondo */
    .joining-main-con::after {
        content: "";
        display: block !important;
        width: 100% !important;
        /* De lado a lado */
        height: 280px !important;
        /* Altura ajustable según la imagen */
        background: url(../images/joining-man-img.png) no-repeat center bottom;
        background-size: contain;
        /* 'contain' evita que el hombre se corte en los lados */
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        /* Pegada al piso del contenedor */
        margin: 0;
    }

    /* Ajuste del botón para que no se vea pegado a la imagen */
    .generic-btn {
        width: 100%;
        display: flex;
        justify-content: center;
        z-index: 2;
        /* Asegura que el botón esté por encima de la imagen si se solapan */
    }
}

/* Estilos para el módulo duplicado */
.joining-alt {
    background-color: #929ea6 !important;
    width: 100% !important;
    border-radius: 0 !important;
    /* Quita bordes redondeados para que sea full ancho */
    margin: 0 !important;
}

/* Cambiar la imagen del hombre para este módulo específico */
.joining-alt::after {
    background: url(../images/transparencia-electoral.png) no-repeat !important;
    /* CAMBIA AQUÍ LA IMAGEN */
    background-size: contain !important;
    right: 100px !important;
    /* Ajusta la posición si es necesario */
}

/* Ajuste de color de texto si el fondo es oscuro */
.joining-alt h3 {
    color: var(--primary-color) !important;
}

/* Ajuste del botón para que resalte sobre el nuevo fondo */
.joining-alt .generic-btn a {
    color: var(--button-color);
    border: solid 2px var(--button-color);
    background: var(--primary-color);
    display: inline-block;
    transition: .3s ease-in-out;
    font-weight: bolder;
    font-size: 18px;
}

.joining-alt .generic-btn a:hover {
    background: white !important;
    color: var(--button-color) !important;
}

/* joining section styling end here */
/* mission section styling end here */
/* about section styling start here */
.about-inner-con {
    display: grid;
    gap: 39px;
    margin-bottom: 62px;
    grid-template-columns: 48% 49%;
}

.about-right-con figure {
    width: 540px;
    height: 540px;
    border-radius: 100%;
    background: #eff2fc;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -30px;
}

.about-main-section .generic-title span::before {
    left: 0;
    transform: unset;
}

.about-main-section .generic-title {
    margin-bottom: 29px;
}

.about-left-con p {
    margin-bottom: 24px;
}

.about-left-con p:nth-child(3) {
    margin-bottom: 28px;
}

.voter-name h4 {
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 0;
    color: var(--accent);
}

.voter-name h4 span {
    color: var(--secondary-color);
}

.voter-name {
    display: flex;
    gap: 10px;
    margin-bottom: 36px;
}

.about-left-con .generic-btn a {
    font-size: 18px;
    padding: 18px 36px;
    color: var(--primary-color);
    background: var(--button-color);
    transition: .3s ease-in-out;
}

.about-left-con .generic-btn a:hover {
    background: var(--accent);
}

.about-left-con {
    position: relative;
}

.about-left-con::after {
    content: "";
}

/* counter section styling start here */
.counter-section {
    display: grid;
    gap: 30px;
    grid-template-columns: 23% 23% 23% 23%;
}

.counter-box {
    text-align: center;
    padding: 40px 40px 32px;
    transition: .3s ease-in-out;
    background: var(--primary-color);
    border-bottom: 3px solid transparent;
    box-shadow: 50px 50px 50px rgb(0 0 0 / 5%);
}

.counter-box h4 {
    font-weight: 700;
    margin-bottom: 4px;
}

.counter-box figure {
    margin-bottom: 25px;
}

.counter-box:hover {
    transform: translateY(-8px);
    border-color: var(--accent);
}

/* counter section styling end here */
/* about section styling end here */
/* video section styling start here */
.video-section {
    background: url(../images/video-section-bg-img.jpg) no-repeat center;
    background-size: cover;
    position: relative;
    z-index: 9999;
}

.video-section::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to bottom, rgb(34 47 100 / 75%) 0%, rgb(191 11 48 / 75%) 100%);
}

.video-section .generic-title {
    z-index: 1;
    position: relative;
    margin-bottom: 26px;
}

.video-section .unity-video-con {
    position: relative;
    z-index: 1;
    text-align: center;
}

.video-section .generic-title span.small-txt,
.video-section .generic-title h2 {
    color: var(--primary-color);
}

.video-section .generic-title h2 {
    width: 59%;
    margin: 0 auto;
}

.video-section .generic-title span.small-txt::before {
    background: var(--primary-color);
}

#fade {
    display: none;
    position: fixed;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: var(--secondary-color);
    z-index: 1001;
    -moz-opacity: 0.8;
    opacity: .80;
    filter: alpha(opacity=80);
}

#light {
    display: none;
    position: absolute;
    top: 62%;
    left: 50%;
    max-width: 600px;
    max-height: 360px;
    z-index: 1002;
    overflow: visible;
    transform: translate(-50%, -50%);
}

#boxclose {
    width: 40px;
    height: 40px;
    font-size: 22px;
    line-height: 23px;
    border-radius: 100%;
    color: var(--button-color);
    background: var(--primary-color);
    font-weight: bold;
    display: inline-block;
    position: absolute;
    right: -7px;
    top: -10px;
    z-index: 1002;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease-in-out;
}

.boxclose:before {
    content: "×";
    top: -1px;
    right: -1px;
    position: relative;
}

#fade:hover~#boxclose {
    display: none;
}

#boxclose:hover {
    background: var(--accent);
    color: var(--primary-color);
}

/* video section styling end here */
/* form section styling start here */
.unity-form-section .generic-title h2 {
    width: 65%;
    margin: 0 auto;
}

.form-con {
    position: relative;
}

.form-con .form-box {
    padding: 34px 93px;
    border: 1px solid #e3e5ee;
    background: var(--primary-color);
    box-shadow: 50px 50px 50px rgb(0 0 0 / 5%);
    position: relative;
}

.form-con::before {
    content: "";
    background: url(../images/shape-logo.png) no-repeat center;
    background-size: cover;
    width: 472px;
    height: 473px;
    position: absolute;
    left: -230px;
    top: -235px;
}

.form-con ul li label {
    display: block;
    font-size: 14px;
    color: var(--secondary-color);
}

.form-inputs-con {
    display: grid;
    gap: 29px;
    grid-template-columns: 48.5% 48.5%;
}

.form-con ul li input,
.form-con ul li select,
.form-con ul li textarea {
    width: 100%;
    height: 56px;
    border-radius: 0;
    border: 1px solid #eeeeee;
    background: #f5f5f5;
    padding: 15px 21px;
    font-size: 14px;
    color: var(--text-color);
}

.form-con ul li textarea {
    height: 158px;
    resize: none;
}

.form-con ul li {
    margin-bottom: 14px;
}

.form-con ul li input:focus,
.form-con ul li select:focus,
.form-con ul li textarea:focus {
    outline: none;
    border-color: var(--accent);
}

.form-con ul li select {
    appearance: none;
    background: #f5f5f5 url(../images/angle-down-icon.png) no-repeat;
    background-position-y: center;
    background-position-x: 95%;
}

.form-con .submit-btn {
    text-align: center;
}

.form-con .submit-btn button {
    width: 59%;
    font-size: 18px;
    padding: 17px 30px;
    border: none;
    cursor: pointer;
    color: var(--primary-color);
    background: var(--accent);
    transition: .3s ease-in-out;
}

.form-con .submit-btn button:focus {
    outline: none;
}

.form-con .submit-btn button:hover {
    background: var(--button-color);
}

.form-box span.error {
    font-size: 14px;
    color: var(--accent);
    position: absolute;
    right: 0;
    top: 2px;
}

/* form section styling end here */
/* blog section styling start here */
.latest-blogs-section {
    background: url(../images/blog-bg-img.jpg) no-repeat center;
    background-size: cover;
    position: relative;
}

.latest-blogs-section::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to bottom, rgb(34 47 100 / 75%) 0%, rgb(191 11 48 / 75%) 100%);
}

.blog-inner-con {
    position: relative;
    z-index: 1;
}

.latest-blogs-section .generic-title span,
.latest-blogs-section .generic-title h2 {
    color: var(--primary-color);
}

.blog-img-con {
    position: relative;
    margin-bottom: -40px;
}

.blog-img-con span {
    background: var(--primary-color);
    padding: 0px 11px;
    color: var(--secondary-color);
    font-size: 14px;
    position: absolute;
    right: 10px;
    top: 10px;
}

.blog-boxes {
    display: grid;
    gap: 30px;
    grid-template-columns: 31.54% 31.54% 31.54%;
}

.blog-txt-box {
    padding: 27px 29px 22px;
    background: var(--primary-color);
    width: 91.4%;
    position: relative;
    z-index: 1;
}

.blog-txt-box span,
.blog-txt-box h4 a {
    color: var(--secondary-color);
}

.blog-txt-box h4 a:hover {
    text-decoration: underline;
}

.blog-txt-box span {
    font-size: 14px;
    line-height: 16px;
    margin-bottom: 12px;
}

.blog-txt-box h4 {
    position: relative;
    padding-left: 17px;
    font-weight: 700;
}

.blog-txt-box h4::before {
    content: "";
    background: var(--accent);
    width: 2px;
    height: 85.4%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.blog-txt-box:hover {
    background: var(--accent);
}

.blog-txt-box:hover h4::before {
    background: var(--primary-color);
}

.blog-txt-box:hover h4 a,
.blog-txt-box:hover span {
    color: var(--primary-color);
}

/* blog section styling end here */
/* feedback section styling start here */
.feedback-section {
    position: relative;
    overflow: inherit;
    overflow-x: clip;
}

.feedback-section::after {
    content: "";
    background: url(../images/shape-logo.png) no-repeat center;
    background-size: cover;
    width: 572px;
    height: 573px;
    position: absolute;
    right: -294px;
    top: 104px;
}

.feedback-testimonial .owl-carousel .owl-item .client-img figure img {
    width: auto;
}

.quote-img {
    width: 73px;
    height: 73px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, rgba(34, 47, 100, 1) 0%, rgba(191, 11, 48, 1) 100%);
    border-radius: 100%;
    border: 5px solid var(--primary-color);
    position: absolute;
    right: -34px;
    top: 50%;
    transform: translateY(-50%);
}

.client-img {
    position: relative;
}

.client-box {
    display: grid;
    gap: 101px;
    grid-template-columns: 23% 65%;
    align-items: center;
    padding: 40px 39px;
    background: var(--primary-color);
    border: 1px solid #e3e5ee;
}

.feedback-testimonial .owl-carousel .owl-nav,
.feedback-testimonial .owl-carousel .owl-dots {
    display: none;
}

.feedback-testimonial {
    position: relative;
    margin-bottom: 90px;
    box-shadow: 50px 50px 50px rgb(0 0 0 / 5%);
    z-index: 2;
}

.feedback-testimonial .btn-wrap {
    position: absolute;
    left: 0;
    top: 43%;
    width: 100%;
    transform: translateY(-50%);
}

.feedback-testimonial .btn-wrap .prev-btn,
.feedback-testimonial .btn-wrap .next-btn {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    position: absolute;
    color: var(--primary-color);
    cursor: pointer;
    transition: .3s ease-in-out;
    background: var(--button-color);
}

.feedback-testimonial .btn-wrap .prev-btn:hover,
.feedback-testimonial .btn-wrap .next-btn:hover {
    background: var(--accent);
}

.feedback-testimonial .btn-wrap .prev-btn:focus,
.feedback-testimonial .btn-wrap .next-btn:focus {
    outline: none;
}

.feedback-testimonial .btn-wrap .prev-btn {
    left: -70px;
}

.feedback-testimonial .btn-wrap .next-btn {
    right: -70px;
}

.feedback-right-box p {
    font-size: 20px;
    line-height: 35px;
    margin-bottom: 24px;
}

.feedback-right-box h4 {
    font-weight: 700;
    font-size: 24px;
    color: var(--accent);
}

.feedback-right-box {
    margin-top: 4px;
}

.sponsors-images ul {
    display: grid;
    gap: 27px;
    grid-template-columns: 20% 19% 20% 20% 12%;
}

.sponsors-images {
    margin-bottom: 135px;
}

/* feedback section styling end here */
/* donate section styling start here */
.donate-suggestion {
    padding: 30px;
    display: grid;
    justify-content: space-between;
    grid-template-columns: auto auto;
    background: linear-gradient(to right, rgba(34, 47, 100, 1) 0%, rgba(191, 11, 48, 1) 100%);
    align-items: center;
    margin-bottom: -54px;
    position: relative;
    z-index: 1;
}

.donate-suggestion .generic-btn a {
    padding: 12px 26px;
}

.donate-suggestion .generic-btn a:hover {
    background: var(--button-color);
}

.donate-suggestion h3 {
    color: var(--primary-color);
}

/* donate section styling end here */
/* footer section styling start here */
.footer-logo-box .header-contact-btn a {
    font-size: 18px;
    font-weight: 700;
    color: var(--secondary-color);
}

.footer-logo-box .header-contact-btn a i {
    color: var(--accent);
    margin-right: 16px;
}

.footer-logo-box .header-contact-btn a:hover {
    color: var(--accent);
}

.footer-main-section {
    position: relative;
    overflow: hidden;
}

.footer-main-section::before {
    content: "";
    background: url(../images/shape-logo.png) no-repeat center;
    background-size: cover;
    width: 472px;
    height: 473px;
    position: absolute;
    left: -146px;
    bottom: -105px;
}

.footer-list-box span.small-txt {
    font-weight: 700;
    color: var(--button-color);
    padding-bottom: 12px;
    margin-bottom: 36px;
}

.footer-list-box span.small-txt::before {
    left: 0;
    width: 40px;
    transform: unset;
}

.footer-logo-box figure {
    margin-bottom: 32px;
}

.footer-logo-box p {
    margin-bottom: 35px;
}

.footer-inner-con {
    display: grid;
    gap: 42px;
    margin-bottom: 75px;
    grid-template-columns: 39% 26% 22%;
}

.footer-list-box {
    padding-top: 13px;
}

.footer-list-box ul li a {
    color: var(--text-color);
}

.footer-links ul li {
    margin-bottom: 10px;
    padding-left: 15px;
}

.footer-list-box ul li:last-child {
    margin-bottom: 0;
}

.footer-links ul li::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--button-color);
    position: absolute;
    left: 0;
    top: 0px;
}

.footer-contact-box ul li {
    margin-bottom: 18px;
    display: flex;
}

.footer-list-box a:hover {
    color: var(--accent);
}

.footer-contact-box ul li i {
    margin-right: 8px;
    margin-top: 5px;
    color: var(--button-color);
}

.footer-social-links {
    display: flex;
    gap: 10px;
}

.footer-social-links a {
    width: 46px;
    height: 46px;
    background: #f4f4f7;
    color: var(--button-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-social-links a:hover {
    color: var(--primary-color);
    background: var(--accent);
}

.footer-contact-box ul {
    margin-bottom: 24px;
}

.copyright-inner-con {
    padding: 23px 15px;
    text-align: center;
    border-top: 1px solid #e5e5e5;
}

.copyright-inner-con p {
    font-size: 14px;
}

.copyright-inner-con p span {
    color: var(--accent);
}

/* footer section styling end here */
/* home page 2 styling start here */
/* home 2 header styling start here */
.header2-main-con {
    position: relative;
}

.header2-main-con .nav-btns ul li a {
    border-radius: 10px;
    color: var(--button-color);
    border: 1px solid var(--button-color);
}

.header2-main-con .donate-btn a {
    border-radius: 10px;
}

.header2-main-con .header-contact-btn a {
    color: var(--button-color);
}

/* home 2 header styling end here */
.index2-banner-section {
    background: url(../images/banner2-bg-img.jpg) no-repeat center;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

.index2-banner-section::after {
    content: "";
    background: url(../images/banner2-shape1.png) no-repeat center;
    background-size: cover;
    width: 234px;
    height: 234px;
    position: absolute;
    right: -40px;
    top: -43px;
    transform: rotate(-11deg);
    z-index: 1;
}

.index2-banner-section .container-fluid {
    padding: 0 15%;
}

.index2-banner-inner-con {
    display: grid;
    gap: 60px;
    grid-template-columns: 38% 57.5%;
    align-items: center;
    width: 1332px;
    margin: 0 auto;
}

.index2-banner-left-con p,
.index2-banner-left-con h1 {
    color: var(--primary-color);
}

.index2-banner-left-con p {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 30px;
}

.index2-banner-left-con h1 {
    font-size: 70px;
    line-height: 70px;
    margin-bottom: 13px;
    margin-left: -3px;
}

.index2-banner-left-con h1 span {
    font-size: 96px;
    line-height: 86px;
    color: var(--secondary-color);
}

.index2-banner-btn a {
    font-size: 18px;
    color: var(--secondary-color);
    padding: 23px 40px 23px;
    display: inline-block;
    border-radius: 10px;
    background: var(--primary-color);
    transition: .3s ease-in-out;
}

.index2-banner-btn a:hover {
    background: var(--button-color);
    color: var(--primary-color);
}

.banner2-candidate-detail-con span {
    font-size: 50px;
    line-height: 50px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--primary-color);
    font-family: 'Montserrat', cursive;
}

.banner2-candidate-detail-con small {
    font-size: 14px;
    line-height: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--primary-color);
}

.index2-banner-right-con {
    position: relative;
    padding-top: 30px;
    z-index: 2;
}

.index2-banner-right-con figure,
.index2-banner-right-con figure img {
    position: relative;
}

.index2-banner-right-con figure::before {
    content: "";
    background: #034d98;
    width: 784px;
    height: 784px;
    border: 30px solid #013971;
    border-radius: 100%;
    position: absolute;
    left: 61%;
    transform: translateX(-50%);
    top: 30px;
    z-index: 1;
}

.index2-banner-right-con figure img {
    z-index: 3;
}

.banner2-candidate-detail-con,
.banner2-candidate-detail-con span,
.banner2-candidate-detail-con small {
    position: relative;
    z-index: 4;
}

.banner2-right-top-txt span {
    font-size: 30px;
    line-height: 30px;
    font-weight: 700;
    color: var(--primary-color);
    font-family: 'Montserrat', cursive;
    text-align: center;
}

.banner2-right-top-txt {
    position: absolute;
    right: -265px;
    top: 23%;
    transform: translateY(-50%);
    z-index: 33;
    width: 241px;
}

.banner2-right-top-txt::before {
    content: "";
    background: url(../images/banner2-arrow-shape.png) no-repeat center;
    background-size: cover;
    width: 87px;
    height: 120px;
    position: absolute;
    left: 30px;
    bottom: -160px;
}

.banner2-candidate-detail-con {
    position: absolute;
    bottom: 30px;
    left: -30px;
    padding: 16px 42px 15px;
    background: #034d98;
    border-radius: 20px;
    box-shadow: 50px 50px 50px rgb(0 0 0 / 50%);
}

.index2-banner-left-con {
    margin-top: -15px;
}

.index2-banner-right-con::before {
    content: "";
    background: url(../images/banner2-white-circular-shape.png) no-repeat center;
    background-size: contain;
    width: 1452px;
    height: 291px;
    position: absolute;
    right: -60%;
    bottom: 0;
}

/* home page 2 styling end here */
/*  */
.mission2-section .mission2-inner-con {
    margin-bottom: 0;
    position: relative;
}

.mission2-section .mission2-con {
    border-radius: 10px;
    border: none;
    position: relative;
    padding: 40px 30px;
    background: var(--primary-color);
}

.mission2-section .mission2-con figure {
    width: 150px;
    height: 150px;
    display: flex;
    border-radius: 100%;
    align-items: center;
    background: #f4f4f7;
    justify-content: center;
    margin: 0 auto 34px;
}

.mission2-section .mission2-con figure img {
    width: 80px;
    height: 80px;
}

.mission2-section .mission2-con p,
.mission2-section .mission2-con h4,
.mission2-section .mission2-con .generic-btn a,
.mission2-section .mission2-con figure,
.mission2-section .mission2-con figure img,
.mission2-section .mission2-con {
    transition: .3s ease-in-out;
}

.mission2-section .mission2-con .generic-btn a {
    border-radius: 10px;
}

.mission2-section .mission2-con:hover figure {
    background: var(--accent);
}

.mission2-section .mission2-con:hover figure img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(217deg) brightness(100%) contrast(104%);
}

.mission2-section .mission2-con:hover {
    background: var(--button-color);
}

.mission2-section .mission2-con:hover h4,
.mission2-section .mission2-con:hover p {
    color: var(--primary-color);
}

.mission2-section .mission2-con:hover .generic-btn a {
    background: var(--primary-color);
}

.mission2-section .mission2-con:hover .generic-btn a:hover {
    background: var(--accent);
}

.mission2-section .mission2-inner-con::before {
    content: "";
    background: url(../images/shape-logo.png) no-repeat center;
    background-size: cover;
    width: 472px;
    height: 473px;
    position: absolute;
    left: -230px;
    top: -235px;
}

/*  */
.header2-main-con .header-contact-btn a:hover {
    color: var(--accent);
}

.index2-about-left-con::after {
    display: none;
}

.index2-about-inner-con {
    gap: 53px;
    margin-bottom: 0;
    grid-template-columns: 39% 57%;
}

.index2-about-right-con {
    position: relative;
}

.index2-about-right-con::after {
    content: "";
    background: url(../images/index2-about-flag-bg.png) no-repeat center;
    background-size: cover;
    width: 712px;
    height: 470px;
    position: absolute;
    left: -20px;
    top: -20px;
}

.index2-about-right-con figure img {
    position: relative;
    z-index: 3;
}

.index2-about-right-con::before {
    content: "";
    background: url(../images/index2-about-signatures-img.png) no-repeat center;
    background-size: cover;
    width: 162px;
    height: 113px;
    position: absolute;
    left: -10px;
    top: 61px;
}

.index2-about-left-con p:nth-child(3) {
    margin-bottom: 37px;
}

.index2-about-left-con {
    padding: 54px 0;
}

.index2-about-left-con .generic-btn a {
    padding: 18px 70px;
    border-radius: 10px;
}

/*  */
.index2-counter-section {
    background: url(../images/index2-counter-bg.jpg) no-repeat center;
    background-size: cover;
    padding: 120px 0;
}

.index2-counter-section .counter-box {
    border-radius: 10px;
    border: none;
}

.index2-counter-section .counter-box:hover {
    background: var(--accent);
}

.index2-counter-section .counter-box:hover figure img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(217deg) brightness(100%) contrast(104%);
}

.index2-counter-section .counter-box:hover h4,
.index2-counter-section .counter-box:hover span {
    color: var(--primary-color);
}

/*  */
.index2-form-inner-section .form-inputs-con {
    gap: 0;
    grid-template-columns: 100%;
}

.index2-form-inner-section .form-box {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    margin-top: -6px;
}

.index2-form-inner-section ul li input,
.index2-form-inner-section ul li select,
.index2-form-inner-section ul li textarea {
    border-radius: 10px;
}

.index2-form-inner-section ul li textarea {
    height: 80px;
}

.index2-form-inner-section {
    display: grid;
    gap: 65px;
    grid-template-columns: 49% 45%;
    border: 1px solid #e3e5ee;
    border-radius: 10px;
    background: var(--primary-color);
    box-shadow: 50px 50px 50px rgb(0 0 0 / 5%);
    padding: 38px;
}

.index2-form-img-con figure {
    overflow: hidden;
    border-radius: 10px;
    display: inline-block;
}

.index2-form-inner-section .submit-btn button {
    width: 100%;
    border-radius: 10px;
}

.index2-form-outer-con {
    position: relative;
}

.index2-form-outer-con::before {
    content: "";
    background: url(../images/shape-logo.png) no-repeat center;
    background-size: cover;
    width: 472px;
    height: 473px;
    position: absolute;
    left: unset;
    right: -235px;
    top: -40px;
}

.form-con.index2-form-inner-section::before {
    display: none;
}

/*  */
.index2-video-outer-con {
    display: grid;
    gap: 0;
    grid-template-columns: 50% 50%;
}

.index2-video-left-con {
    background: url(../images/index2-video-left-con-bg-img.jpg) no-repeat center;
    background-size: cover;
    position: relative;
}

.index2-video-right-con {
    background: url(../images/index2-video-right-con-bg-img.jpg) no-repeat right;
    background-size: cover;
    position: relative;
}

.index2-video-section {
    background: transparent;
}

.index2-video-section::after {
    display: none;
}

.index2-video-right-con::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to bottom, rgb(34 47 100 / 75%) 0%, rgb(191 11 48 / 75%) 100%);
}

.index2-video-left-con::after {
    content: "";
    background: rgb(34 47 100 / 85%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.index2-video-right-inner-con {
    position: relative;
    z-index: 9;
    text-align: center;
    padding-top: 9px;
}

.index2-video-section .generic-title h2 {
    width: 100%;
    margin-left: -3px;
    line-height: 46px;
}

.index2-video-section .generic-title span {
    margin-bottom: 19px;
}

.index2-video-section .generic-title span.small-txt::before {
    left: 0;
    transform: unset;
}

.index2-video-left-inner-con {
    position: relative;
    z-index: 1;
    width: 60%;
    float: right;
}

.index2-video-left-inner-con ul li:first-child {
    padding-left: 0;
    border-right: 1px solid var(--primary-color);
}

.index2-video-left-inner-con ul li {
    float: left;
    padding: 0 17px;
    color: var(--primary-color);
    line-height: 16px;
}

.index2-video-right-inner-con .video-play-icon {
    margin-bottom: 28px;
}

.index2-video-right-inner-con h3 {
    color: var(--primary-color);
    line-height: 30px;
}

.index2-video-left-inner-con ul li i {
    color: var(--accent);
    margin-right: 6px;
}

.index2-video-left-inner-con span.label {
    background: url(../images/index2-label-bg-img.png) no-repeat center;
    width: 235px;
    height: 50px;
    display: flex;
    align-items: center;
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
    padding: 10px 20px;
    margin-bottom: 27px;
    color: var(--primary-color);
}

.index2-video-section .generic-title {
    margin-bottom: 24px;
}

/*  */
.index2-testimonial-section .index2-quote-img img {
    width: 51px;
    margin: 0 auto;
}

.index2-testimonial-section .index2-quote-img {
    margin-bottom: 26px;
}

.index2-testimonial-section .stars-img img {
    width: 172px;
    margin: 0 auto;
}

.index2-testimonial-section .stars-img {
    margin-bottom: 35px;
}

.reviewer-details-con figure {
    width: 104px;
    height: 104px;
    margin: 0 auto 14px;
    border-radius: 100%;
    overflow: hidden;
    border: 2px solid var(--button-color);
    padding: 3px;
}

.reviewer-details-con figure img {
    width: 94px;
    height: 94px;
    object-fit: none;
    border-radius: 100%;
}

.index2-slide-content p {
    font-size: 28px;
    line-height: 45px;
    font-weight: 400;
    margin-bottom: 26px;
    color: var(--secondary-color);
    font-family: 'Inter', sans-serif;
}

.index2-slide-content {
    text-align: center;
    padding: 0 110px;
}

.reviewer-details-con span {
    font-size: 18px;
    line-height: 18px;
    font-weight: 700;
    margin-bottom: 6px;
    color: var(--secondary-color);
}

.reviewer-details-con small {
    font-size: 13px;
    line-height: 13px;
}

.index2-testimonial-section .owl-carousel .owl-dots,
.index2-testimonial-section .owl-carousel .owl-nav {
    display: none;
}

.index2-testimonial-section .btn-wrap .prev-btn,
.index2-testimonial-section .btn-wrap .next-btn {
    background: transparent;
    border: none;
    position: absolute;
    color: var(--button-color);
}

.index2-testimonial-section .btn-wrap .prev-btn {
    left: 37%;
}

.index2-testimonial-section .btn-wrap .next-btn {
    right: 37%;
}

.index2-testimonial-section .btn-wrap .prev-btn:hover,
.index2-testimonial-section .btn-wrap .next-btn:hover {
    color: var(--accent);
}

.index2-testimonial-section .btn-wrap span {
    font-size: 14px;
    line-height: 14px;
    font-weight: 700;
}

.index2-testimonial-section .btn-wrap button i {
    font-size: 22px;
    line-height: 10px;
}

.index2-testimonial-section .btn-wrap button:focus {
    outline: none;
}

.index2-testimonial-section .btn-wrap button {
    cursor: pointer;
}

.index2-testimonial-section .btn-wrap {
    position: relative;
    top: -110px;
    z-index: 2;
}

.index2-testimonial-section {
    position: relative;
    overflow: hidden;
}

.index2-testimonial-section::before,
.index2-testimonial-section::after {
    content: "";
    background: url(../images/shape-logo.png) no-repeat;
    background-size: cover;
    width: 646px;
    height: 648px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.index2-testimonial-section::before {
    left: -325px;
}

.index2-testimonial-section::after {
    right: -325px;
}

.index2-testimonial-inner-con {
    margin-bottom: 100px;
}

/*  */
.index2-sponsors-section ul li {
    padding: 25px 25px;
    text-align: center;
    position: relative;
    width: 195px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 118px;
}

.index2-sponsors-section {
    margin-left: -50px;
    width: 1210px !important;
}

.index2-sponsors-section ul li::before,
.index2-sponsors-section ul li:last-child::after {
    content: "";
    background: #e9e9e9;
    width: 1px;
    height: 162px;
    position: absolute;
    top: -20px;
    left: 0;
}

.index2-sponsors-section ul li:last-child::after {
    left: unset;
    right: 0;
}

.index2-sponsors-section ul {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
}

/*  */
.fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fadeOut {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

/*  */
.index2-movement-inner-con .generic-title h2 span {
    margin-bottom: 0;
    color: var(--accent);
}

.index2-movement-inner-con .generic-title h2 {
    color: var(--primary-color);
    width: 64%;
    line-height: 48px;
    margin: 0 auto;
}

.index2-movement-inner-con .generic-title h2 br {
    display: none;
}

.index2-movement-inner-con .generic-title .small-txt {
    color: var(--primary-color);
    margin-bottom: 18px;
}

.index2-movement-inner-con .generic-title .small-txt::before {
    background: var(--primary-color);
}

.index2-movement-inner-con .generic-btn a {
    padding: 17px 47px 17px 46px;
    border-radius: 10px;
    background: var(--accent);
    color: var(--primary-color);
    transition: .3s ease-in-out;
}

.index2-movement-inner-con .generic-btn a:hover {
    background: var(--primary-color);
    color: var(--secondary-color);
}

.index2-movement-section {
    background: var(--button-color) url(../images/index2-rally-img.jpg) no-repeat center;
    background-size: cover;
    position: relative;
}

.index2-movement-section::after {
    content: "";
    background: rgb(34 47 100 / 85%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.index2-movement-inner-con {
    position: relative;
    z-index: 2;
}

.index2-movement-inner-con .generic-title {
    margin-bottom: 31px;
}

/*  */

.index2-blog-section::after {
    display: none;
}

.index2-blog-section .generic-title span {
    color: var(--accent);
}

.index2-blog-section .generic-title h2 {
    color: var(--secondary-color);
}

.index2-blog-section .blog-txt-box {
    box-shadow: 0px 0px 100px rgb(0 0 0 / 10%);
}

.index2-blog-section .blog-inner-con {
    margin-bottom: 140px;
}

/*  */
.index2-donation-section {
    background: url(../images/dollar-bg-img.jpg) no-repeat center;
    background-size: cover;
    position: relative;
    padding: 100px 0;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: -210px;
    z-index: 2;
}

.index2-donation-section::after {
    content: "";
    background: linear-gradient(to right, rgb(34 47 100 / 84%) 0%, rgb(191 11 48 / 75%) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.index2-donation-inner-con {
    position: relative;
    z-index: 2;
}

.index2-blog-section .index2-donation-section .generic-title span.small-txt,
.index2-blog-section .index2-donation-section .generic-title h2 {
    color: var(--primary-color);
}

.index2-blog-section .index2-donation-section .generic-title h2 {
    line-height: 48px;
    width: 64%;
    margin: 0 auto;
}

.index2-blog-section .index2-donation-section .generic-title span.small-txt {
    margin-bottom: 19px;
}

.index2-blog-section .index2-donation-section .generic-title span.small-txt::before {
    background: var(--primary-color);
}

.index2-blog-section .index2-donation-section .generic-title {
    margin-bottom: 21px;
}

.index2-blog-section .index2-donation-section .generic-btn a {
    border-radius: 10px;
    padding: 17px 28px;
}

.index2-footer-section {
    padding-top: 310px;
}

/*  */
.index2-video-section #light {
    left: 0;
}

/* about page styling start here */
/* section styling start here */
.sub-banner-section {
    background: url(../images/sub-banner-bg-img.jpg) no-repeat center;
    background-size: cover;
    height: 421px;
    position: relative;
    overflow: hidden;
    padding-top: 13px;
}

.sub-banner-section::after {
    content: "";
    background: url(../images/banner2-shape1.png) no-repeat center;
    background-size: cover;
    width: 234px;
    height: 234px;
    position: absolute;
    right: -40px;
    top: -43px;
    transform: rotate(-11deg);
}

.sub-banner-inner-con h1,
.sub-banner-inner-con p {
    color: var(--primary-color);
}

.sub-banner-inner-con h1 {
    font-size: 70px;
    line-height: 70px;
    margin-bottom: 18px;
    margin-left: -3px;
}

.header2-main-con .navbar {
    padding: 14px 0;
}

.sub-banner-inner-con p {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 22px;
}

.sub-banner-inner-con .breadcrumb {
    border-radius: 10px;
    padding: 11px 14px 11px 15px;
    border: 1px solid var(--primary-color);
    background: transparent;
    font-size: 14px;
    margin-bottom: 0;
}

.sub-banner-inner-con .breadcrumb-item a {
    color: var(--primary-color);
    transition: .3s ease-in-out;
}

.sub-banner-inner-con .breadcrumb-item a:hover {
    color: var(--button-color);
}

.sub-banner-inner-con .breadcrumb .breadcrumb-item.active {
    color: var(--secondary-color) !important;
}

.breadcrumb-item+.breadcrumb-item::before {
    content: "~";
    color: var(--primary-color);
}

.sub-banner-inner-con {
    display: grid;
    gap: 40px;
    grid-template-columns: 44% 54%;
    align-items: center;
}

.sub-banner-section .container-fluid {
    padding: 0 15%;
}

.sub-banner-right-con figure {
    position: relative;
    text-align: center;
}

.sub-banner-right-con figure::before {
    content: "";
    background: #034d98;
    width: 814px;
    height: 814px;
    border: 30px solid #013971;
    border-radius: 100%;
    position: absolute;
    left: 52%;
    transform: translateX(-50%);
    bottom: -393px;
}

.sub-banner-right-con .banner2-right-top-txt {
    position: absolute;
    right: 6.5%;
    top: 28%;
    transform: translateY(-50%);
    z-index: 33;
}

.sub-banner-right-con .banner2-right-top-txt::before {
    left: 33px;
    bottom: -148px;
}

.sub-banner-right-con figure img {
    position: relative;
    z-index: 2;
}

.sub-banner-left-con {
    margin-top: -40px;
}

/* sub banner section styling end here */
/* team section styling start here */
.team-inner-con .generic-title h2 span {
    color: var(--accent);
    margin-bottom: 0;
}

.team-inner-con .generic-title h2 {
    width: 75%;
    margin: 0 auto;
}

.team-members-outer-con {
    display: grid;
    gap: 40px 30px;
    grid-template-columns: 31.5% 31.5% 31.5%;
}

.team-member-detail {
    text-align: center;
    transition: .3s ease-in-out;
}

.team-member-detail figure::before {
    content: "";
    background: #f3f2fd;
    width: 350px;
    height: 367px;
    border-radius: 175px 175px 0 0;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    transition: .3s ease-in-out;
}

.team-member-detail figure img {
    position: relative;
    z-index: 1;
}

.team-member-detail figure {
    margin-bottom: 24px;
}

.team-member-detail span {
    font-size: 14px;
    line-height: 16px;
}

.team-member-detail h4 {
    margin-bottom: 4px;
}

.team-main-section {
    position: relative;
}

.team-main-section::before {
    content: "";
    background: url(../images/shape-logo.png) no-repeat center;
    background-size: cover;
    width: 646px;
    height: 648px;
    position: absolute;
    left: -325px;
    top: 110px;
}

.team-member-detail:hover figure::before {
    background: var(--accent);
}

.team-member-detail:hover h4 {
    color: var(--accent);
}

/* team section styling end here */
/* section styling start here */
.contact-form-section .index2-form-outer-con::before {
    right: unset;
    left: -235px;
}

.contact-form-section .index2-form-outer-con {
    margin-bottom: 100px;
}

.contact-outer-con {
    display: grid;
    gap: 47px;
    margin-bottom: 100px;
    grid-template-columns: 30% 30% 30%;
}

.contact-details-box {
    display: flex;
    align-items: center;
    gap: 30px;
}

.contact-info-con a {
    display: block;
    color: var(--text-color);
}

.contact-info-con a:hover {
    color: var(--accent);
}

.contact-info-con span {
    font-weight: 700;
    color: var(--accent);
    margin-bottom: 7px;
}

.contact-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--button-color);
    color: var(--primary-color);
    font-size: 26px;
    border-radius: 10px;
}

.map-section iframe {
    width: 100%;
    border: 0;
    border-radius: 10px;
    height: 495px;
}

.map-section {
    padding: 19px;
    z-index: 2;
    position: relative;
    border-radius: 10px;
    margin-bottom: -247px;
    border: 1px solid #e3e5ee;
    background: var(--primary-color);
    box-shadow: 50px 50px 50px rgb(0 0 0 / 5%);
}

.contact-us-footer {
    padding-top: 347px;
}

/* section styling end here */
/* section styling start here */
.donation-form-section .generic-title h2 span {
    color: var(--accent);
}

.donation-form-section .generic-title h2 {
    width: 73%;
}

.card-details {
    display: grid;
    gap: 0;
    grid-template-columns: 16% 56% 16% 12%;
    align-items: center;
    border: 1px solid #eeeeee;
    background: #f5f5f5;
    border-radius: 10px;
}

.form-con ul li .card-details input {
    padding: 15px 12px;
    background: transparent;
    border: 0;
}

.card-details figure {
    padding-left: 21px;
}

.donation-form-img figure {
    position: relative;
}

.donation-form-img figure::after {
    content: "";
    background: linear-gradient(45deg, rgb(34 47 100 / 20%) 0%, rgb(191 11 48 / 30%) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.donation-footer-section {
    padding-top: 100px;
}

/* section styling end here */
/* bottom to top button */
#button.show {
    opacity: 1;
    visibility: visible;
}

#button:hover {
    cursor: pointer;
}

#button {
    display: inline-block;
    background-color: var(--accent);
    width: 62px;
    height: 62px;
    text-align: center;
    border-radius: 10px;
    position: fixed;
    bottom: 57px;
    right: 113px;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-animation: spineer 2s infinite;
    animation: spineer 2s infinite;
    cursor: pointer;
}

#button::after {
    content: "\f062";
    font-family: "Font Awesome 5 free";
    font-size: 22px;
    line-height: 50px;
    color: #fff;
    font-weight: 600;
}

@-webkit-keyframes spineer {
    from {
        box-shadow: 0 0 0 0 rgb(191, 11, 48, .99)
    }

    to {
        box-shadow: 0 0 0 25px rgb(53, 0, 252, .01)
    }
}

@keyframes spineer {
    from {
        box-shadow: 0 0 0 0 rgb(191, 11, 48, .99)
    }

    to {
        box-shadow: 0 0 0 25px rgb(53, 0, 252, .01)
    }
}

/* bottom to top button */
/* Preloader -------------------------------------------------------*/
/* Loader Styles start here */
.loader-mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    z-index: 99999;
}

.loader {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 50px;
    height: 50px;
    font-size: 0;
    color: var(--accent);
    display: inline-block;
    margin: -25px 0 0 -25px;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

.lead {
    font-size: 13px;
}

.loader div {
    background-color: var(--accent);
    display: inline-block;
    float: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    opacity: .5;
    border-radius: 50%;
    -webkit-animation: ballPulseDouble 2s ease-in-out infinite;
    animation: ballPulseDouble 2s ease-in-out infinite;
}

.loader div:last-child {
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}

@-webkit-keyframes ballPulseDouble {

    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes ballPulseDouble {

    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

/* Preloader -------------------------------------------------------*/
/* 404 page styling start here */
.error-section {
    height: 100vh;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: url(../images/sub-banner-bg-img.jpg) no-repeat center;
    background-size: cover;
    position: relative;
}

.error-con {
    position: relative;
    z-index: 2;
    padding: 0 100px;
}

.error-con h2 {
    font-size: 170px;
    line-height: 165px;
    margin-bottom: 40px;
    color: var(--primary-color);
}

.error-con p {
    font-size: 22px;
    line-height: 36px;
    margin-bottom: 40px;
    color: var(--primary-color);
}

.error-con .generic-btn a {
    font-size: 18px;
    font-weight: 500;
    padding: 29px 32px;
    border-radius: 10px;
    color: var(--button-color);
    background: var(--primary-color);
    transition: .3s ease-in-out;
    border: 1px solid var(--primary-color);
}

.error-con .generic-btn a:hover {
    color: var(--primary-color);
    background: transparent;
}

/* 404 page styling end here */
/* coming soon page styling start here */
.coming-soon-con {
    position: relative;
    z-index: 2;
}

.coming-soon-con h2 {
    font-size: 100px;
    line-height: 100px;
    margin-bottom: 40px;
    color: var(--primary-color);
}

.coming-soon-social-links ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 40px;
}

.coming-soon-social-links ul li a {
    width: 60px;
    height: 60px;
    border-radius: 10px;
    color: var(--button-color);
    background: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .3s ease-in-out;
    border: 1px solid var(--primary-color);
}

.coming-soon-social-links ul li a i {
    font-size: 18px;
    color: var(--button-color);
}

.coming-soon-social-links ul li a:hover {
    transform: translateY(-6px);
    background: transparent;
}

.coming-soon-social-links ul li a:hover i {
    color: var(--primary-color);
}

/* coming soon page styling end here */

.submit-btn a.pdf-link {
    width: 59%;
    font-size: 18px;
    padding: 17px 30px;
    display: inline-block;
    /* Necesario para que respete el ancho y padding */
    text-decoration: none;
    color: var(--primary-color);
    /* Blanco #fff */
    background: var(--accent);
    /* Rojo #bf0b30 */
    transition: .3s ease-in-out;
    text-align: center;
    border-radius: 5px;
    /* Opcional, para redondear */
}

.submit-btn a.pdf-link:hover {
    background: var(--button-color);
    /* Azul oscuro #222f64 */
    color: var(--primary-color);
}

.form-box p {
    font-size: 19px;
    /* Tamaño ideal para lectura larga */
    line-height: 1.8;
    /* Espacio entre líneas para que el ojo no se pierda */
    color: #222;
    /* Un tono casi negro para máximo contraste */
    margin-bottom: 25px;
    /* Espacio antes del botón */
    text-align: left;
    /* En web, el alineado a la izquierda es más legible que el justificado */
}

/* Ajustes específicos para móviles */
@media (max-width: 767px) {
    .form-box p {
        font-size: 17px;
        /* Un pelín más pequeña en móvil para que no ocupe toda la pantalla */
        line-height: 1.6;
    }
}

/* Resaltar las negritas para que no se pierdan */
.form-box p b {
    color: var(--secondary-color);
    font-weight: 700;
}

/* Ajuste específico para la imagen del banner en móviles */
@media (max-width: 767px) {
    .banner-main-section .banner-right-con figure img {
        margin-left: 15%;
        /* Empuja la imagen hacia la derecha */
        max-width: 115%;
        /* Compensa el margen para que no quede un hueco blanco a la izquierda */
        position: relative;
        z-index: 1;
    }

    /* Evita que el movimiento de la imagen cree scroll horizontal en el celular */
    .banner-main-section {
        overflow: hidden;
    }
}

/* Asegurar visibilidad de redes sociales en el footer en móvil */
@media (max-width: 991px) {
    .footer-section .footer-social-icon {
        display: block !important;
        text-align: center;
        margin-top: 20px;
    }

    .footer-section .footer-social-icon ul {
        display: flex;
        justify-content: center;
        padding: 0;
    }

    .footer-section .footer-social-icon ul li {
        display: inline-block;
        margin: 0 10px;
    }

    /* Ajuste para que los iconos sean fáciles de tocar en el celular */
    .footer-section .footer-social-icon ul li a i {
        width: 40px;
        height: 40px;
        line-height: 40px;
        background: var(--accent);
        /* Usa tu color rojo #bf0b30 */
        color: white;
        border-radius: 50%;
        text-align: center;
    }
}

/* EFECTO MARCA DE AGUA EN MÓVIL (MÉTODO GRADIENTE) */
@media (max-width: 767px) {
    .banner-main-section {
        /* Creamos una capa blanca con 85% de opacidad sobre la imagen */
        /* Esto hace que la imagen se vea al 15-20% de intensidad */
        background:
            linear-gradient(rgba(255, 255, 255, 0.80), rgba(255, 255, 255, 0.80)),
            url('../images/banner-right-img.jpg') no-repeat right !important;

        background-size: cover !important;
        position: relative;
        padding-top: 100px;
        /* Ajustamos espacio para el texto en móvil */
        padding-bottom: 50px;
    }

    /* Ajuste para que el texto sea negro y resalte sobre la marca de agua */
    .banner-inner-con h1,
    .banner-inner-con p,
    .banner-inner-con span {
        color: #000000 !important;
        position: relative;
        z-index: 5;
    }
}

/* Estilos Pedagógicos Centinelas */
.pedagogical-benefits {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.benefit-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.benefit-item:hover {
    background: rgba(255, 193, 7, 0.05);
    border-color: var(--centinelas-lightblue);
    transform: scale(1.02);
}

.number-circle {
    width: 60px;
    height: 60px;
    background: transparent;
    border: 2px solid var(--centinelas-lightblue);
    border-radius: 50%;
    color: var(--centinelas-lightblue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 800;
    transition: 0.3s;
}

.benefit-item:hover .number-circle {
    background: var(--centinelas-lightblue);
    color: #000;
    box-shadow: 0 0 20px rgba(255, 193, 7, 0.4);
}

.text-white-50 {
    font-size: 0.95rem;
    line-height: 1.6;
    letter-spacing: 0.3px;
}

.red-line {
    width: 80px;
    height: 3px;
    background-color: var(--accent);
    margin-top: 10px;
}

.red-icons {
    color: var(--accent);
}

.red-icons-circle {
    width: 80px;
    height: 80px;
    background: #bf0b30;
    border-radius: 50%;
    box-shadow: 0 4px 15px rgba(255, 102, 0, 0.3);
}

.box-dark-gradient {
    background: linear-gradient(to left, rgb(10, 83, 173) 0%, rgb(0 111 204) 100%)
}

.centinela-light {
    color: var(--centinelas-lightblue);
}

.centinela-light-icon {
    color: var(--centinelas-lightblue);
    border: 2px solid var(--centinelas-lightblue);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.importance-section .card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: #bf0b30 !important;
}

.dark-bg-section {
    background: linear-gradient(to left, rgb(10, 83, 173) 0%, rgb(0 47 179) 100%);
    clear: both;
    display: inline-block;
    overflow: hidden;
}