/* @font-face{ font-family: NombreFont; src: url(fonts/NombreFont-Bold.otf); } */
:root {
    --color-blue-hard: #003d92;
    --color-dark-gray: #5b5b5d;
    --color-blue: #1d71b9;
}
/*=============================================================================
GENERAL
=============================================================================*/
body {
    overflow-x: hidden;
    position: relative;
    font-family: "Roboto Condensed", sans-serif;
}
html {
    overflow-x: hidden;
}
*::-moz-selection {
    background: var(--color-blue-hard);
    color: #fff;
    text-shadow: none;
}
*::selection {
    background: var(--color-blue-hard);
    color: #fff;
    text-shadow: none;
}
.bg-default {
    background-color: #eee;
    border: 1px solid #ddd;
}
.bg-default-02 {
    background-color: #ddd;
    border: 1px solid #ccc;
}
.text-black {
    color: #000;
}
.bg-cover-index {
    background-image: url("http://placehold.it/1920x1080");
}
/*=============================================================================
THANKS PAGE
=============================================================================*/
.thanks-page {
    height: 60vh;
}
.thanks-page img {
    width: 400px;
    max-width: 100%;
}
/*=============================================================================
NAVBAR
=============================================================================*/
.navbar {
    margin-bottom: 0;
    border: none;
    border-radius: 0;
}
/* colores items menu */
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link {
    color: #fff;
    border-bottom: 2px solid transparent;
}
.navbar-light .navbar-nav .active .nav-link,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
    color: #fff;
    border-color: #333;
}
/* colores items menu */
/* separación items menu */
.navbar-nav > .nav-item {
    padding-left: 15px;
    padding-right: 15px;
}
/* separación items menu */
.navbar-brand img {
    width: 150px;
}

.bg-navbar-texcoco {
    background-color: #171882;
}

/* --- TEXTOS BLANCOS EN MENÚ DE NAVEGACIÓN --- */
.navbar.bg-navbar-texcoco .navbar-nav .nav-link {
    color: #fff !important;
    transition: color 0.3s ease;
}

.navbar.bg-navbar-texcoco .navbar-nav .nav-link:hover,
.navbar.bg-navbar-texcoco .navbar-nav .nav-link:focus {
    color: #d9d9d9 !important; /* un blanco suave al hacer hover */
    border-color: #d9d9d9;
}

/* --- TEXTOS BLANCOS EN LOS ENLACES DE LA DERECHA --- */
.navbar.bg-navbar-texcoco .navbar-brand {
    border-color: #fff;
    transition: all 0.3s ease;
}

/* --- ICONO HAMBURGUESA EN BLANCO --- */
.navbar.bg-navbar-texcoco .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.3);
    display: none !important;
}
.navbar.bg-navbar-texcoco .navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}
.navbar.bg-navbar-texcoco .navbar-toggler-icon {
    filter: invert(1);
    font-size: 1.5rem;
    height: auto;
}

.btn-white-icon {
    background-color: #ffffff;
    color: #171882;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 15px;
    border-radius: 30px;
    text-decoration: none;
}

.btn-white-icon .icon-img {
    width: 15px; /* tamaño del icono */
    height: 20px;
}

.btn-white-text {
    background-color: #ffffff;
    color: #171882;
    padding: 5px 15px;
    border-radius: 30px;
    text-decoration: none;
}

.btn-white-icon:hover,
.btn-white-text:hover {
    background-color: #fff;
    color: #171882;
}
/*=============================================================================
HOME
=============================================================================*/
.custom-section {
    background-color: #fff;
    padding-bottom: 60px;
}

.custom-section .conten-primeraSeccion {
    max-width: 1300px;
    padding-left: 40px;
    padding-right: 40px;
}

.conten-primeraSeccion .row {
    display: flex;
    align-items: stretch !important;
}

.left-column .left-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

/* ======== COLUMNA IZQUIERDA ======== */
.left-column {
    padding-right: 40px; /* deja aire entre columnas */
}

.left-content {
    text-align: left;
    max-width: 90%;
    margin-left: auto;
    margin-right: 0;
}

/* Imagen principal */
.left-content img {
    display: block;
    height: auto;
}

.main-image {
    display: block;
    margin: 0 auto 30px 0;
    width: 180px;
    height: auto;
}

/* ======== TÍTULOS ======== */
.main-title {
    font-size: 45px;
    font-weight: 300;
    margin-bottom: 10px;
    max-width: 85%;
}

.subtitle {
    font-size: 24px;
    color: #171882;
    font-weight: 700;
    margin-bottom: 30px;
}

/* ======== FEATURES ======== */
.feature-row {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
    border-bottom: 1px solid #2d334233;
    padding-bottom: 10px;
}

.text-wrapper {
    flex: 1;
    max-width: 85%;
}

.circle-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: rgba(23, 24, 130, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
}

.circle-icon img {
    width: 50%;
    height: 50%;
}

.feature-title {
    font-size: 25px;
    font-weight: 400;
    margin-bottom: 5px;
    color: #2d3342;
}

.feature-text {
    font-size: 15px;
    font-weight: 300;
    color: #2d3342;
    margin: 0;
}

/* ----------- Columna derecha ----------- */
.right-column {
    padding-left: 40px;
    padding-top: 0;
}

.collage {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.collage-top img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    margin-top: 0;
}

/* Segunda fila collage */
.collage-bottom {
    display: flex;
    align-items: stretch;
    gap: 15px;
}

/* Ambas mitades con el mismo ancho */
.collage-left,
.collage-right {
    flex: 1;
    overflow: hidden;
}

.collage-left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.collage-right {
    background-color: #171882;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    color: #fff;
    border-radius: 35px;
}

.collage-title {
    font-size: 40px;
    font-weight: 300;
    text-align: left;
    max-width: 80%;
}

.collage-title .arrow {
    color: #171882;
    margin-left: 8px;
}

.left-column2 {
    padding-right: 40px; /* separación entre columnas */
}

/* Columna Izquierda */
.left-image-column,
.right-column2 {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.fila-contenedora-segunda-seccion {
    display: flex;
    align-items: stretch;
}

.full-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.right-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
    padding: 0; /* quitamos padding del contenedor exterior */
}

.content-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 2rem 3rem; /* padding interno uniforme */
}

.title {
    text-align: left;
    font-size: 50px;
    font-weight: 300;
    margin-bottom: 1rem;
}

.description {
    text-align: left;
    font-size: 24px;
    font-weight: 300;
    margin-bottom: 2rem;
    line-height: 1.6;
}

/* Filas de íconos */
.info-row {
    display: flex;
    align-items: center;
    margin-bottom: 1.2rem;
    background-color: #7ad5e91a;
    border-radius: 10px;
    padding: 1.8rem 2.5rem;
}

.info-row .icon {
    width: 36px;
    height: 36px;
    margin-right: 1rem;
    flex-shrink: 0;
}

.info-row p {
    margin: 0;
    font-weight: 300;
    font-size: 22px;
    text-align: left;
    line-height: 1.5;
}

/* Botón */
.button-container {
    margin-top: 2rem;
}

.discover-btn {
    width: 100%;
    background-color: #171882;
    color: #fff;
    border: none;
    padding: 0.9rem;
    font-size: 40px;
    font-weight: 300;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.3s;
    text-decoration: none;
    cursor: pointer;
}

.discover-btn:hover {
    background-color: #171882;
    color: #fff;
}

.title-servicios {
    font-weight: 300;
    font-size: 45px;
    color: #2d3342;
    margin-bottom: 20px;
}

.linea-decorativa {
    width: 95%; /* ancho de la línea */
    height: 1px; /* grosor de la línea */
    background-color: #2d334233; /* color de la línea */
    border-radius: 2px; /* opcional: bordes redondeados */
    margin-bottom: 30px; /* espacio entre línea y siguiente fila */
}

.linea-decorativa-seccion-primera {
    width: 100%; /* ancho de la línea */
    height: 1px; /* grosor de la línea */
    background-color: #2d334233; /* color de la línea */
    border-radius: 2px; /* opcional: bordes redondeados */
    margin-bottom: 30px; /* espacio entre línea y siguiente fila */
    margin-top: 50px;
}

.parent {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
    max-width: 100%;
    height: auto;
    justify-items: center;
}

.div1,
.div2,
.div3,
.div4 {
    width: 100%;
}

.div1 {
    grid-row: span 2 / span 2;
    width: 100%;
    height: 100%;
}

.div1 .text-wrapper {
    text-align: left;
    padding: 30px;
}

.div1 h1 {
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 30px;
    color: #171882;
}

.div1 p {
    font-weight: 300;
    font-size: 15px;
    color: #2d3342;
}

.div2 {
    grid-row: span 3 / span 3;
    position: relative;
    width: 100%;
    height: 540px;
    overflow: hidden;
}

.div2 img,
.div2 video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 30px;
    position: relative;
    z-index: 2;
}

.div3 {
    grid-row: span 3 / span 3;
    grid-row-start: 3;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.div3 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.div4 {
    grid-row: span 2 / span 2;
    grid-column-start: 2;
    grid-row-start: 4;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 20px;
    border-radius: 10px;
}

.btn-link-div {
    background-color: #171882;
    width: 80px;
    height: 80px;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.btn-link-div:hover {
    transform: scale(1.1);
}

.text-container {
    text-align: left;
}

.text-container .titulo {
    font-size: 20px;
    font-weight: 500;
    color: #2d3342;
}

.text-container .subtitulo {
    font-size: 45px;
    font-weight: 300;
    color: #2d3342;
}

.cuarta-img {
    object-fit: cover;
    width: auto;
    height: auto;
    display: block;
    flex-grow: 1;
}

.cuarta-col-der {
    padding: 40px; /* Ajusta según necesites */
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #171882;
    color: #fff;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}

.cuarta-titulo {
    text-align: left;
    margin-bottom: 20px; /* Espacio entre título y párrafo */
    font-size: 50px;
    font-weight: 300;
}

/* Párrafo */
.cuarta-parrafo {
    text-align: left;
    font-size: 24px;
    line-height: 1.6;
    font-weight: 300;
}

.cuarta-col-izq {
    padding: 0;
    display: flex;
    flex-direction: column;
}

.cuarta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; /* Esto hace que la columna derecha tenga la misma altura que la izquierda */
}

.custom-card {
    position: relative;
    border-radius: 40px;
    overflow: hidden;
    transition: transform 0.3s;
    background: #444b5f0d;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.custom-card:hover {
    transform: translateY(-5px);
}

.image-container {
    position: relative;
}

.card-label {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #171882;
    color: #fff;
    padding: 5px 15px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-weight: bold;
    z-index: 10;
}

.card-img-top {
    width: 100%;
    height: auto;
    display: block;
}

.card-body {
    position: relative;
    padding: 30px;
    text-align: center;
    flex-grow: 1;
}

.card-text {
    font-weight: 300;
    font-size: 20px;
    color: #2d3342;
    text-align: center;
}

.info-tag {
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    color: #171882;
    padding: 8px 20px;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    z-index: 15;
    transition: all 0.3s ease;
}

.info-tag:hover {
    background-color: #0f1070;
    color: #fff;
    text-decoration: none;
    transform: translateX(-50%) scale(1.05);
}

.custom-card-special {
    background-color: #171882;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    padding: 30px;
}

.arrow-link i {
    cursor: pointer;
    color: #fff;
    text-decoration: none;
}

.custom-card-special h1 {
    font-size: 60px;
    font-weight: 300;
    text-align: left;
    margin: 0;
}

.custom-card-special i {
    position: absolute;
    bottom: 20px;
    right: 20px;
    font-size: 40px;
    color: #fff;
}

.bg-input {
    background-color: #7ad5e91a;
}

.bg-sexta {
    background-color: #444b5f0d;
}

.title-left {
    text-align: left;
    font-size: 50px;
    font-weight: 300;
    margin-bottom: 1rem;
}

.text-left {
    text-align: left;
    font-weight: 300;
    font-size: 24px;
    margin-bottom: 1.5rem;
}

.div-somos {
    width: 100%;
    border-radius: 10px;
}

.text-container-somos {
    text-align: left;
}

.text-container-somos .titulo-somos {
    font-size: 20px;
    font-weight: 500;
    color: #2d3342;
}

.text-container-somos .subtitulo-somos {
    font-size: 45px;
    font-weight: 300;
    color: #2d3342;
}

.primera-columna {
    padding-top: 40px;
    padding-bottom: 40px;
}

.segunda-columna {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    height: 100%;
}

.rectangulo-azul {
    background-color: #171882;
    width: 70%;
    margin: 0 auto;
    padding: 30px 0px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-grow: 1;
}

.title-rectangulo {
    margin-top: 10px;
    font-size: 40px;
    font-weight: 300;
}

.div-superior.flotante {
    width: 120%;
    background-color: #e0e0e0;
    padding: 20px;
    border-radius: 25px;
    text-align: left;
    margin-bottom: 20px;
}

.div-superior.flotante h2 {
    text-align: left; /* título alineado a la izquierda */
    font-weight: 500;
    font-size: 20px;
    color: #171882;
}

.div-superior.flotante p {
    text-align: left; /* párrafo alineado a la izquierda */
    margin-bottom: 20px;
    font-weight: 300;
    font-size: 24px;
    color: #151313;
}
/*=============================================================================
US
=============================================================================*/
.header-left {
    padding-right: 100px;
}

.logo-texcoco {
    margin-top: 40px;
}

.header-title {
    margin-top: 40px;
    font-weight: 300;
    font-size: 48px;
    color: #2d3342;
}

.header-text {
    margin-top: 10px;
    font-weight: 300;
    font-size: 24px;
    color: #2d3342;
}

.header-text2 {
    margin-top: 10px;
    font-weight: 300;
    font-size: 21px;
    color: #2d3342;
}

.img-wrapper {
    height: 700px; /* puedes ajustar esta altura a tu gusto (px, %, vh, etc.) */
    overflow: hidden; /* evita que la imagen se desborde */
    position: relative;
    border-bottom-right-radius: 40px;
}

.img-zoom {
    width: 150%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: translateX(-5%) scale(1); /* mueve 10% a la izquierda */
}

.img-zoom2 {
    width: 150%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: translateX(-15%) scale(1); /* mueve 10% a la izquierda */
}

.blue-container {
    background-color: #171882;
    color: white;
    width: 80%;
    margin: 0 auto;
    border-radius: 30px;
    margin-top: -50px;
    position: relative;
    z-index: 1000;
}

.blue-card {
    padding: 20px 60px;
    text-align: center;
}

.blue-card p {
    font-weight: 280;
    font-size: 24px;
}

.border-special {
    position: relative; /* necesario para posicionar los pseudo-elementos */
}

.border-special::before,
.border-special::after {
    content: "";
    position: absolute;
    top: 15%; /* margen superior */
    bottom: 15%; /* margen inferior */
    width: 1px;
    background-color: #fff;
}

.border-special::before {
    left: 0; /* línea izquierda */
}

.border-special::after {
    right: 0; /* línea derecha */
}

.border-special2 {
    border-right: 1px solid white;
}

.mt-personalized {
    margin-top: 80px;
}

.principal-title {
    font-weight: 300;
    font-size: 50px;
    margin-bottom: 20px;
    color: #2d3342;
}

.principal-text {
    font-weight: 300;
    font-size: 24px;
    color: #2d3342;
    margin-bottom: 40px;
}

.us-card-left {
    padding: 10px 60px 10px 90px;
}

.us-card-right {
    padding: 10px 90px 10px 60px;
}

.bg-card-gray {
    background-color: rgba(23, 24, 130, 0.05);
    border-radius: 40px;
}

.img-us-card-container {
    height: 300px; /* puedes ajustar esta altura a tu gusto (px, %, vh, etc.) */
    overflow: hidden; /* evita que la imagen se desborde */
    position: relative;
    border-radius: 40px;
    position: relative;
}

.img-us-title {
    position: absolute;
    background-color: #171882;
    color: #ffffff;
    z-index: 1000;
    bottom: 0;
    left: 25%;
    padding: 5px 25px;
    border-radius: 10px 10px 0px 0px;
    font-size: 15px;
    font-weight: 500;
    left: 50%;
    transform: translateX(-50%);
}

.img-us-card {
    width: 110%;
    object-fit: cover;
    object-position: center 20%;
    transform: translateX(-5%) scale(1); /* mueve 10% a la izquierda */
}

.us-card-text {
    text-align: center;
    font-weight: 300;
    font-size: 20px;
    padding: 30px;
}

.pr-20 {
    padding-right: 200px;
}

.text-container {
    padding-left: 40px;
}

.text-us {
    font-size: 24px;
    font-weight: 300;
    color: #2d3342;
    margin-bottom: 80px;
}

.button-mision-container {
    display: inline-flex; /* Alinear elementos en línea (horizontal) */
    align-items: center; /* Centrar verticalmente */
    gap: 16px; /* Espacio entre el ícono y el texto */
}

.blue-text-button {
    line-height: 1.1;
}

.blue-button {
    background-color: #171882;
    border: none;
    border-radius: 30px;
    color: #fff;
    padding: 30px 36px;
    font-size: 2.2rem;
    transition: background-color 0.3s ease;
}

.blue-button:hover {
    background-color: #14156e;
    color: white;
}

.superior-text {
    font-weight: 500;
    font-size: 20px;
}

.first-text {
    font-weight: 300;
    font-size: 50px;
}

.img-us-container {
    height: auto; /* puedes ajustar esta altura a tu gusto (px, %, vh, etc.) */
    overflow: hidden; /* evita que la imagen se desborde */
    position: relative;
    border-radius: 40px;
}

.img-us {
    width: 150%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: translateX(-5%) scale(1); /* mueve 10% a la izquierda */
}

/*=============================================================================
SERVICES
=============================================================================*/
.border-serv-special {
    position: relative; /* necesario para posicionar los pseudo-elementos */
}

.border-serv-special::before {
    content: "";
    position: absolute;
    top: 15%; /* margen superior */
    bottom: 15%; /* margen inferior */
    width: 1px;
    background-color: #fff;
}

.border-serv-special::before {
    left: 0; /* línea izquierda */
}

.service-card {
    background-color: #ffffff;
    padding: 5px 5px;
    height: 100%; /* Esto asegura que todas las cards tengan la misma altura */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.service-card-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #171882;
}

.service-card-text {
    font-size: 20px;
    font-weight: 300;
    color: #2d3342;
}

.img-services-container {
    margin-top: 50px;
    height: 400px; /* puedes ajustar esta altura a tu gusto (px, %, vh, etc.) */
    overflow: hidden; /* evita que la imagen se desborde */
    position: relative;
    border-radius: 40px;
}

.img-services {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% center;
    /* transform: translateX(-5%) scale(1); */
}

.last-section-container {
    border-radius: 40px;
    width: 96%;
    position: relative;
}

.img-contact-container {
    overflow: hidden; /* evita que la imagen se desborde */
    border-bottom-left-radius: 40px;
    border-top-left-radius: 40px;
    position: relative;
    padding: 0px !important;
}

.img-contact {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% center;
    /* transform: translateX(-5%) scale(1); */
}

.last-section-services {
    padding: 50px;
    background-color: #171882;
    color: white;
    border-bottom-right-radius: 40px;
    border-top-right-radius: 40px;
}

.last-section-services h2 {
    font-size: 50px;
    font-weight: 300;
    margin-bottom: 10px;
}

.last-section-services p {
    font-size: 24px;
    font-weight: 300;
}

.contact-button {
    position: absolute;
    background-color: white;
    color: #171882;
    text-decoration: none;
    border: 1px solid #171882;
    border-radius: 40px;
    right: -70px;
    bottom: -80px;
    width: 200px;
    font-size: 24px;
    font-weight: 300;
    padding: 40px;
    z-index: 1000;
}

.mb-personalized {
    margin-bottom: 140px;
}

.blue-container-contact {
    background-color: #171882 !important;
    color: white !important;
    padding: 50px;
    border-radius: 20px;
}

.gray-container-contact {
    background-color: #1718820d !important;
    padding: 50px;
    border-radius: 20px;
}

.header-title-contact {
    font-size: 30px;
    font-weight: 300;
}

.bg-gradtian-grey {
    background-color: #444b5f0d;
}

.bg-light-custom {
    background-color: #444b5f0d;
}

.input-label {
    background-color: #444b5f0d;
    color: #171882;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
    height: 42px;
}

.custom-input {
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    border: 0 !important;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    height: 65px;
    padding-left: 25px;
}

.custom-input-area {
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    border: 0 !important;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    height: 90px;
    padding-left: 25px;
}

.custom-button {
    background-color: #171882 !important;
    color: white;
}

.text-blue {
    color: #171882 !important;
}

.fs-18 {
    font-size: 18px;
}

.fs-14 {
    font-size: 14px !important;
}

.white-border {
    border-right: 1px solid white;
}
.valores {
    max-height: 350px !important;
}

.blue-container-valores {
    background-color: #7ad5e91a;
    border-radius: 20px;
}
/*=============================================================================
FOOTER
=============================================================================*/
.footer-container {
    background-color: #171882;
    color: white;
    border-radius: 40px;
}

.footer-left {
    padding: 60px;
}

.footer-left h5 {
    font-size: 25px;
    font-weight: 400;
    margin-bottom: 5px;
}

.footer-left p {
    font-size: 20px;
    font-weight: 300;
    margin-bottom: 45px;
    line-height: 100%;
}

.footer-right {
    background-color: #151313;
    border-radius: 40px;
    display: flex;               /* activa flexbox */
    justify-content: center;     /* centra horizontalmente */
    align-items: center;         /* centra verticalmente */
}

.footer-right img {
  max-width: 70%;
  height: auto;
}

.footer-white-container {
    margin-top: 30px;
    margin-bottom: 50px;
}

.bb-light {
    border-bottom: 2px solid #2D334233;
}

.br-light {
    border-right: 2px solid #2D334233;
}

.footer-socials,
.footer-contact-form {
    display: flex;               /* activa flexbox */
    flex-direction: column;
    justify-content: center;     /* centra horizontalmente */
    align-items: center;         /* centra verticalmente */
    padding: 50px 0px;
    color: #2D3342;
}

.footer-socials p,
.footer-contact-form p {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 0px;
}

.footer-socials h2,
.footer-contact-form h2 {
    font-size: 25px;
    font-weight: 400;
    margin-bottom: 25px;
}

.social-icons {
    display: flex;
    justify-content: center; /* centra todo el grupo */
    align-items: center;
    gap: 70px; /* aquí controlas el espacio entre los íconos */
}

.social-icons a {
    font-size: 24px;
    color: #171882;
    text-decoration: none;
    transition: color 0.3s ease;
}

.social-icons a:hover {
    color: #1a5bbd; /* Un azul más brillante al pasar el mouse */
}

/* Estilos del formulario de contacto */
.contact-form-wrapper {
    position: relative; /* Clave para posicionar el botón dentro */
    width: 60%;
}

.contact-form-wrapper input[type="email"] {
    width: 100%;
    height: 40px;
    border: 1px solid #ccc;
    border-radius: 30px; /* Bordes redondeados */
    padding: 0 90px 0 25px; /* Espacio para el botón a la derecha */
    font-size: 15px;
    box-sizing: border-box; /* Asegura que el padding no rompa el layout */
}

.contact-form-wrapper input[type="email"]:focus {
    outline: none;
    border-color: #0d2a4e;
    box-shadow: 0 0 5px rgba(13, 42, 78, 0.3);
}

.contact-form-wrapper button {
    position: absolute; /* Clave para meterlo al input */
    right: 7px; /* Pequeño espacio del borde derecho */
    top: 50%;
    transform: translateY(-50%); /* Centrado vertical perfecto */
    height: 40px; /* Un poco más pequeño que el input */
    border: none;
    background-color: transparent; /* Fondo blanco como en la imagen */
    color: #171882; /* Texto azul */
    font-weight: 600;
    padding: 0px 0px;
    border-radius: 25px; /* Bordes redondeados para el botón */
    cursor: pointer;
    transition: all 0.3s ease;
}

.contact-form-wrapper button:hover {
    background-color: transparent;
}

/* --- Estilos dellogo y Nav) --- */
.footer-nav-section {
    padding: 25px 0px 50px 0px;
    text-align: center; /* Centra el logo */
}

.footer-logo {
    max-height: 50px; /* Ajusta el tamaño de tu logo */
    margin-bottom: 25px;
}

.footer-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex; /* La clave para alinear los links */
    justify-content: center; /* Centra los links horizontalmente */
    flex-wrap: wrap; /* Permite que pasen a la línea de abajo si no caben */
}

.footer-nav li {
    margin: 0 25px; /* Separación entre links */
}

.footer-nav li a {
    text-decoration: none;
    color: #777D8D; /* Color de los links */
    font-weight: 400;
    font-size: 15px;
    transition: color 0.3s ease;
}

.footer-nav li a:hover {
    color: #171882; /* Color al pasar el mouse */
}

.footer-copyright p {
    display: flex;               /* activa flexbox */
    flex-direction: column;
    justify-content: center;     /* centra horizontalmente */
    align-items: center;         /* centra verticalmente */
    padding: 30px 0px 0px 0px;
    font-size: 15px;
    font-weight: 400;
    color: #777D8D; /* Color más claro para el copyright */
}
/*=============================================================================
BLOG
=============================================================================*/
.blog-play-container {
    height: auto !important;
}
.bg-widget-cover.bg-mh {
    background-image: url("http://placehold.it/1920x500.png?text=1920x500.jpg");
    height: 500px;
}
.bg-widget-cover {
    background-position: center;
    background-size: cover;
}
.play-container {
    position: relative;
    height: 100%;
}
.play-container:hover .play-ico {
    opacity: 1;
    cursor: pointer;
}
.play-container:hover {
    cursor: pointer;
}
.play-ico {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    z-index: 1;
    opacity: 0.5;
}
.img-blog {
    min-height: 800px;
    background-image: url("../img/Blog/header.jpg");
    background-position: center;
    background-size: cover;
}
.container-blog {
    padding-right: 30px;
    padding-left: 30px;
    padding-top: 100px;
    padding-bottom: 100px;
    width: 100%;
}
.i-text {
    background: #e2dede;
    border: none;
    border-radius: 10px;
    color: #757575;
    text-align: center;
    font-size: 12px;
    padding: 10px 40px;
    margin-right: 10px;
}
.bolder {
    font-weight: bolder !important;
}
.hr-blog {
    max-width: 15%;
    border: 1px solid #e2dede;
    -webkit-box-shadow: 0px 2px 3px #e2e2e2;
    box-shadow: 0px 2px 3px #e2e2e2;
}
.text-intblog {
    width: 100%;
    position: absolute;
    bottom: 10px;
}
.btn-blog {
    width: 100%;
    background: black;
    border: none;
    font-weight: 100;
    font-family: sans-serif;
    color: #fff;
}
.btn-blog2 {
    background: black;
    border: none;
    font-weight: 100;
    font-family: sans-serif;
    color: #fff;
}
.btn-blog3 {
    background: black;
    border: 1px solid #fff;
    font-weight: 100;
    font-family: sans-serif;
    color: #fff;
    padding: 6px 50px;
    font-size: 16px;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}
.btn-blog3:hover {
    color: #000;
    background-color: #fff;
    text-decoration: none;
}
.text-initblogf {
    position: absolute;
    top: 30%;
    left: 30%;
}
.img-finalblog {
    background-image: url("../img/Blog/footer.jpg");
    background-position: center;
    background-size: cover;
}
.custom-dropdown > li > .dropdown-menu,
.dropdown-child {
    background-color: #333;
}
.dropdown-child > a {
    color: #fff;
}
.custom-dropdown > li > .dropdown-menu > .nav-link:hover,
.custom-dropdown > li > .dropdown-menu > .dropdown-item:hover,
.dropdown-child > a:hover {
    background-color: #222;
}
.dropdown-child > a:hover {
    color: #fff;
}
/*=============================================================================
MEDIA
=============================================================================*/
/* 1920 x 1080 */
@media (max-width: 1920px) {
}

/* 1600 x 900*/
@media (max-width: 1600px) {
}

/* 1440 x 900 */
@media (max-width: 1440px) {
}

/* 1280 x 800 */
@media (max-width: 1280px) {
}

@media (max-width: 1024px) {
    .custom-card-special h1 {
        font-size: 45px;
    }
}

/* 990 x 1000 */
@media (max-width: 990px) {

    .custom-card {
        border-radius: 70px;
    }

    .rectangulo-azul {
        width: 70%;
    }
    .div-superior.flotante {
        width: 140%;
    }

    .cuarta-col-der {
        padding: 20px;
        text-align: center; /* opcional: centrado en móviles */
        justify-content: center;
    }
    .cuarta-titulo {
        font-size: 1.5rem;
    }
    .cuarta-parrafo {
        font-size: 0.95rem;
    }

    .custom-section .conten-primeraSeccion {
        padding-left: 20px;
        padding-right: 20px;
    }

    .left-content,
    .collage {
        max-width: 100%;
    }

    .main-title {
        max-width: 100%;
        font-size: 36px;
    }

    .collage-bottom {
        flex-direction: column;
    }

    .collage-right,
    .collage-left {
        width: 100%;
    }

    .collage-title {
        text-align: center;
        max-width: 100%;
    }

    .navbar.bg-navbar-texcoco .navbar-collapse .d-flex {
        flex-direction: column;
        width: 100%;
    }

    .navbar.bg-navbar-texcoco .navbar-collapse .d-flex .navbar-brand {
        margin-bottom: 0.5rem;
        text-align: center;
    }

    .header-left {
        padding-right: 50px;
    }

    .header-title {
        margin-top: 40px;
        font-size: 40px;
    }

    .header-text {
        margin-top: 10px;
        font-size: 22px;
    }

    .blue-container {
        width: 90%;
        margin-top: -50px;
    }

    .blue-card {
        padding: 15px 40px;
        display: flex;
        align-items: center;
    }

    .blue-card p {
        font-weight: 280;
        font-size: 20px;
    }

    .us-card-left {
        padding: 10px 30px 10px 30px;
    }

    .us-card-right {
        padding: 10px 30px 10px 30px;
    }

    .img-us-card-container {
        height: 230px;
    }

    .img-us-title {
        padding: 5px 15px;
        text-align: center;
        font-size: 13px;
    }

    .img-us-card {
        width: 120%;
    }

    .us-card-text {
        font-size: 18px;
        padding: 30px;
    }

    .pr-20 {
        padding-right: 100px;
    }

    .first-text {
        font-size: 40px;
    }

    .service-card-title {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .service-card-text {
        font-size: 18px;
    }

    .img-services-container {
        margin-top: 30px;
        height: 250px;
    }

    .img-services {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 70% center;
        /* transform: translateX(-5%) scale(1); */
    }

    .footer-socials,
    .footer-contact-form {
        padding: 50px 0px;
        text-align: center;
    }

    .footer-socials p,
    .footer-contact-form p {
        font-size: 13px;
    }

    .footer-socials h2,
    .footer-contact-form h2 {
        font-size: 23px;
    }

    .footer-nav li {
        margin: 0 15px; /* Separación entre links */
    }

    .navbar.bg-navbar-texcoco .navbar-toggler {
        display: block !important;
    }
}

/* 767 x 414 */
@media (max-width: 767px) {
    .cuarta-row {
        flex-wrap: nowrap; /* Evita que se pongan una debajo de la otra */
    }

    .cuarta-col-izq,
    .cuarta-col-der {
        flex: 1 1 50%; /* Cada columna ocupa 50% del ancho */
        max-width: 50%;
    }

    .cuarta-col-der {
        padding: 20px; /* Reducimos el padding en móviles */
    }

    .cuarta-titulo {
        font-size: 20px; /* Reducimos tamaño del título */
        text-align: center;
    }

    .cuarta-parrafo {
        font-size: 12px; /* Reducimos tamaño del párrafo */
    }

    .cuarta-img {
        width: 100%;
        height: auto;
        border-top-left-radius: 50px;
        border-bottom-left-radius: 50px;
    }

    .div2 img,
    .div2 video,
    .div3 img {
        border-radius: 15px; /* reducimos el borde redondeado */
    }

    .div4 {
        flex-direction: column;
        text-align: center !important;
        padding: 15px;
    }

    .btn-link-div {
        width: 60px;
        height: 60px;
        margin-bottom: 10px;
    }

    .text-container {
        padding-left: 0;
        text-align: center;
        margin-left: 0 !important;
    }

    .text-container .titulo {
        font-size: 18px;
    }

    .text-container .subtitulo {
        font-size: 20px;
    }

    .div1 h1 {
        font-size: 14px;
    }

    .div1 p {
        font-size: 12px;
    }

    .div1 .text-wrapper {
        padding: 20px;
        text-align: center;
        height: 100%;
        overflow-y: scroll;
        scrollbar-width: none;
        max-width: 100%;
        width: 100%;
    }

    .div1 {
        height: 250px;
        display: flex;
        align-items: center;
        overflow: hidden;
    }

    .div2,
    .div3,
    .div4 {
        width: 100%;
        height: auto;
    }

    .parent {
        gap: 10px;
    }

    .rectangulo-azul {
        width: 90%;
        padding-top: 60px; /* más espacio para título */
    }
    .div-superior.flotante {
        width: 180%;
        padding: 12px;
    }

    .div4 {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .btn-link-div {
        width: 60px;
        height: 60px;
        margin-bottom: 10px;
    }

    .left-content {
        text-align: center;
    }

    .main-image {
        margin: 0 auto 20px auto;
    }

    .feature-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .collage-bottom {
        flex-direction: column;
        text-align: center;
    }

    .collage-left img {
        width: 100%;
    }

    .collage-right {
        width: 100%;
    }
}

/* 576 x 320 */
@media (max-width: 576px) {
    .title-left {
        font-size: 35px;
    }

    .text-container-somos .subtitulo-somos {
        font-size: 30px;
    }

    .rectangulo-azul {
        width: 95%;
        padding-top: 50px;
    }
    .div-superior.flotante {
        width: 115%;
        padding: 10px;
        font-size: 14px;
    }

    .div-superior.flotante p {
        font-size: 14px;
    }

    .logo-texcoco {
        margin-top: 30px;
    }

    .header-title {
        margin-top: 30px;
        font-size: 35px;
        text-align: center;
    }

    .header-text {
        margin-top: 10px;
        font-size: 20px;
        text-align: center;
    }

    .header-left {
        padding-right: 12px;
    }

    .img-wrapper {
        height: 400px;
    }

    .border-special::before,
    .border-special::after {
        top: 0;
        bottom: auto;
        left: 10%;
        right: 10%;
        width: auto;
        height: 1px;
    }

    .border-special::before {
        top: 0; /* línea superior */
    }

    .border-special::after {
        bottom: 0; /* línea inferior */
        top: auto;
    }

    .pr-20 {
        padding-right: 40px;
    }

    .img-us-container {
        margin-top: 40px;
        height: 200px;
    }

    .img-us {
        width: 120%;
        object-position: center 30%;
    }

    .border-serv-special::before {
        top: 0;
        bottom: auto;
        left: 10%;
        right: 10%;
        width: auto;
        height: 1px;
    }

    .border-serv-special::before {
        top: 0; /* línea superior */
    }

    .last-section-container {
        margin-left: 11px;
        border-radius: 40px;
        width: 90%;
        position: relative;
    }

    .img-contact-container {
        border-bottom-left-radius: 0px;
        border-top-left-radius: 40px;
        border-top-right-radius: 40px;
    }

    .last-section-services {
        border-bottom-right-radius: 40px;
        border-bottom-left-radius: 40px;
        border-top-right-radius: 0px;
    }

    .contact-button {
        position: absolute;
        background-color: white;
        color: #171882;
        text-decoration: none;
        border: 1px solid #171882;
        border-radius: 40px;
        right: -20px;
        bottom: -110px;
        width: 200px;
        font-size: 24px;
        font-weight: 300;
        padding: 40px;
        z-index: 1000;
    }

    .footer-left {
        padding: 50px;
    }

    .footer-left h5 {
        font-size: 22px;
    }

    .footer-left p {
        font-size: 17px;
    }

    .footer-right {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .footer-socials,
    .footer-contact-form {
        padding: 50px 0px;
        text-align: center;
    }

    .footer-socials p,
    .footer-contact-form p {
        font-size: 13px;
    }

    .footer-socials h2,
    .footer-contact-form h2 {
        font-size: 20px;
    }

    .contact-form-wrapper {
        width: 90%;
    }

    .contact-form-wrapper input[type="email"] {
        padding: 0 60px 0 15px; /* Espacio para el botón a la derecha */
        font-size: 13px;
    }

    .contact-form-wrapper button {
        font-size: 13px;
    }

    .footer-nav-section {
        padding: 25px 0px 25px 0px;
    }

    .footer-nav ul {
        flex-direction: column; /* Apila verticalmente */
    }

    .footer-nav li {
        margin: 8px 0; /* Espaciado vertical para links apilados */
    }
}

/* 375 x 320 */
@media (max-width: 375px) {
    .custom-card-special h1 {
        font-size: 25px;
    }

    .discover-btn {
        font-size: 30px;
    }

    .info-row p {
        font-size: 13px;
    }
}
/*
	@media( max-width: 1920px ) {}
	@media( max-width: 1600px ) {}
	@media( max-width: 1440px ) {}
	@media( max-width: 1366px ) {}
	@media( max-width: 1280px ) {}
	@media( max-width: 1024px ) {}
	@media( max-width: 736px ) {}
	@media( max-width: 667px ) {}
	@media( max-width: 640px ) {}
	@media( max-width: 568px ) {}
*/
