*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Quicksand', sans-serif;
    list-style: none;
    text-decoration: none;
    scroll-behavior: smooth;
   
}

:root{
    --bg-color: #fff;
    /*--bg-color: #020312;*/
    /*--bg-color:#07468C;*/
    --bg-color-1: #2B2B2B;
    --text-color: #fff;
    --text-color-1: #12141c;
    /*--main-color: #eb4a4a;*/
    /*--main-color:#008080;*/
    --main-color:#284359;
    --second-color:gray;
    --other-color: #12141c;
    --other-color-1: #32fcff;
    --h1-font: 4rem;
    --h2-font: 3.5rem;
    --h3-font: 3.5rem;
    --p-font:1.1rem;
}
body{
    background: var(--bg-color);
    color: var(--text-color);

    left: 0;
    margin: 0;
    padding: 0;
    font-size: 16px;
    
}

header{
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgb(255, 255, 255);
    padding: 5px auto;
    border-bottom: 1px solid transparent;
    transition: all .40 ease;

    
    }

.logo img{
    width: auto;
    height: auto;
}

.logo-animation {
    margin-left: 50px;  /* Ajusta esta medida según sea necesario */
}

#navbar, #navbar ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
#navbar{
    width: auto;
    margin: auto auto;
    background-color: rgb(255, 255, 255);
    border-radius: 6px;
}
#navbar::before,
#navbar::after{
    content: '';
    display: table;
}
#navbar::after{
    clear: both;
}
#navbar li{
    float: left;
    box-shadow: 1px 0 0 #444;
    position: relative;
}
#navbar a{
    float: left;
    padding: 12px 30px;
    font-weight: 600;
    text-decoration:none;
    color: var(--main-color);
}
#navbar li:hover > a{
    color:#c72424;
    font-weight:900;
}
#navbar ul{
    margin: 20px 0 0 0;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 46px;
    left: 0;
    z-index: 1;
    background: #ffffff;
    border-radius: 3px;
    transition: all .3s ease-in-out;
}
#navbar li:hover > ul{
    opacity: 1;
    visibility: visible;
    margin: 0;
}
#navbar ul ul{
    top: 0;
    left: 252px;
    margin: 0 0 0 20px;
}
#navbar ul li{
    float: none;
    display: block;
    border: 0;
    box-shadow: 0 1px 0 #111, 0 2px 0 #666;
}
#navbar ul li:last-child{
    box-shadow: none;
}
#navbar ul a{
    padding: 10px;
    width: 250px;
    display: block;
    white-space: nowrap;
    float: none;
    text-transform: uppercase;
}
#navbar ul a:hover{
    background-color: #c72424;
    color: #dddddd;
}
#navbar ul li:first-child > a{
    border-radius: 3px 3px 0 0;

}
#navbar ul li:first-child > a::before{
    content: '';
    position: absolute;
    left: 40px;
    top: -6px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px #fff;
}
#navbar ul li:first-child > a::after{
    border-bottom: 6px solid transparent;
    border-top: 6px solid transparent;
    border-right: 6px solid #fff;
    left: -6px;
    top: 50%;
    margin-top: -6px;
    border-left: 0;
}
#navbar ul li:first-child > a:hover::after{
    border-bottom-color: #fff;
}
#navbar ul ul li:first-child > a:hover::after{
    border-right-color: #fff;
    border-bottom-color: transparent;
}
#navbar ul li:last-child > a{
    border-radius: 0 0 3px 3px;
}

#menu-icon{
    font-size: 36px;
    color: var(--text-color);
    z-index: 10001;
    cursor: pointer;
    display: none;
}
section{
    padding: 2px 16% 90px;
}



.inicio{
    height: 100vh;
    width: 100%;
    position: relative;
    /*background: url(../img/fondo1.jpg);*/
    /*background: url(../img/Fondos/Fondo2.jpg);*/
    /*background-color: var(--second-color);*/
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow-x: hidden; /* Prevenir desbordamiento horizontal */
    
    }

.inicio2{
    height: 220vh;
    width: 100%;
    padding: 0px;
    position:relative;
    /*background: url(../img/fondo1.jpg);*/
    background: url(../img/Fondos/Fondo5.jpg);
    /*background-color: var(--second-color);*/
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    z-index: -1; /* Envía el fondo detrás de otros contenidos */
}

/* texto inicio */
.inicio-text h1{
    margin: 20px 0;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.1;
    letter-spacing: 2px;
    text-shadow: #000000 4px 0 4px; 
    
}
span{
    /*color: var(--main-color);*/
    /*color: var(--bg-color-1);*/
    color: var(--other-color-1);


}
.inicio-text h4{
    color: var(--main-color);
    font-size: 30px;
    font-weight: 600;
}
.inicio-text h3{
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 3rem;
    text-shadow: #000000 4px 0 4px;
}

.btn{
    display: inline-block;
    padding: 7px 35px;
    border-radius: 0.5rem;
    font-size: 17px;
    font-weight: bold;
    background: var(--main-color);
    color: var(--text-color);
    /*border: 5px solid var(--other-color-1);*/
    transition: all .40s ease;
}
.btn:hover{
    transform: scale(1.01) translateY(-5px);
    background: var(--other-color-1);
    font-weight: bold;
    color: var(--text-color);
    border: 5px solid var(--other-color-1);
}
header.sticky{
    padding: 10px auto;
    /*background: rgba(40, 67, 89, 0.5);*/
    background: rgb(255, 255, 255);
    box-shadow: 0 3px 0 #06335779;
    border-bottom: 1px solid #fafafa;
    transition:  .5s;
}

/* 4 columnas */
.four-column-section {
    display: flex;
    justify-content: space-between;
    align-items: stretch; /* Asegura que todas las columnas tengan el mismo alto */
    width: 100%;
    height: 350px;
    padding: 50PX;
    background-image: 
        radial-gradient(circle , #000000 0.5%, transparent 20%); 
        background-size: 4px 4px;
    background-repeat: repeat;
}

.column4 {
    flex: 1;
    padding: 10px;
    text-align: center; /* Centra el contenido de la columna */
    /* background: #282a36; Fondo oscuro para un look futurista */
    color: #000000;
    
    
}

.column5 {
    background-color: white;
    border-radius: 15px;
    position: relative;
    flex: 0 0 70%; /* Fija el tamaño al 70% */
    text-align: center; /* Centra el contenido de la columna */
    color: #000000;
    margin-left: 10px;
}
.column5 h3{    
    text-align: justify;
    font-family: 'Poppins', sans-serif;
    background-color: white;
    border-radius: 10px;
    padding: 20px;
    font-size: 3vw; /* Tamaño de fuente basado en el ancho de la ventana */
    vertical-align: middle;
    display: inline-block;
    overflow: hidden;
    white-space: collapse balance;
    color: rgb(254,153,0);
    color: linear-gradient(90deg, rgba(254,153,0,1) 0%, rgba(181,113,10,1) 100%);
}
.gradient-text {
    background: linear-gradient(to right, #096008, #69d867); /* Define el degradado */
    -webkit-background-clip: text; /* Hace que el fondo del texto sea visible */
    -webkit-text-fill-color: transparent; /* Hace que el texto sea transparente */
    font-size: 36px; /* Tamaño de fuente */
    font-family: 'Poppins', sans-serif;
    font-weight: bold;
}
.column5 h4{    
    text-align: justify; font-size: 20PX;
    font-size: 20px;
    /*font-family: 'Roboto', sans-serif;*/
    background-color: white;
    border-radius: 10px;
    font-size: 1.5vw; /* Tamaño de fuente basado en el ancho de la ventana */
    vertical-align: middle;
    display: inline-block;
    overflow: hidden;
    white-space: collapse balance;
    padding-left: 30px;
    padding-right: 30px;
}

.column4 h4{
background-color: white;
border-radius: 10px;
padding: 20px;
font-size: 1.5vw; /* Tamaño de fuente basado en el ancho de la ventana */
width: 100%; /* Asegura que las imágenes cubran el ancho de la columna */
height: 100%;
vertical-align: middle;
display: inline-block;
overflow: hidden;
white-space: collapse balance;
}


.column4 img {
    width: 80%; /* Asegura que las imágenes cubran el ancho de la columna */
    height: 100%;
    vertical-align: middle;    
    border-radius: 10px;
}

.column4:first-child { /* Específico para la primera columna */
    overflow: hidden; /* Previene que el contenido se desborde */
    text-overflow: ellipsis; /* Añade puntos suspensivos si el texto es demasiado largo */
    white-space: nowrap; /* Mantiene el texto en una sola línea */
}

.column4:first-child p {
    margin: 0; /* Elimina márgenes por defecto */
    padding: 5px; /* Añade algo de espacio interior para legibilidad */
}

.carousel {
    position: relative;
    overflow: hidden;
    height: 50%; /* Divide el espacio verticalmente para dos carruseles */
}

.carousel img {
    position: absolute;
    top: 0;
    left: 100%; /* Posiciona las imágenes fuera del área visible inicialmente */
    transition: left 0.5s ease;
    padding-top: 5px;
    padding-bottom: 5px;
}

.carousel img.active {
    left: 0; /* Muestra la imagen activa en la vista */
}


.about {
    display:grid;
    place-items: center; /* Centra los elementos vertical y horizontalmente */
    gap: 2rem;
    background-color: #f1f1f1ec;
    padding: 20px; /* Agrega padding para evitar que el contenido toque los bordes */
}



/* imagenes mov */
/* Estilos de la sección de inicio */
.inicio {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden; /* Evita que las imágenes se desborden del contenedor */
    
}

.slideshow {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -3; /* Mantener detrás del contenido principal */
}

.slideshow li {
    position: absolute;
    width: 100%;
    height: 100%;
}

.slideshow li span {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: imageAnimation 30s linear infinite 0s;
}

.slideshow li:nth-child(1) span {
    background-image: url('../img/Fondos/principal.png');
}

.slideshow li:nth-child(2) span {
    background-image: url('../img/Fondos/branddesign.png');
    animation-delay: 6s;
}

.slideshow li:nth-child(3) span {
    background-image: url('../img/Fondos/marketing.png');
    animation-delay: 12s;
}

.slideshow li:nth-child(4) span {
    background-image: url('../img/Fondos/develop.png');
    animation-delay: 18s;
}

.slideshow li:nth-child(5) span {
    background-image: url('../img/Fondos/consulting.png');
    animation-delay: 24s;
}

@keyframes imageAnimation {
    0% { opacity: 0; animation-timing-function: ease-in; }
    8% { opacity: 1; animation-timing-function: ease-out; }
    17% { opacity: 1; }
    25% { opacity: 0; }
    100% { opacity: 0; }
}




/* Crear la animación de parpadeo */
@keyframes blink-background {
    0%, 50%, 100% {
        background-color: rgba(103, 255, 240, 0.1); /* Color visible */
    }
    25%, 75% {
        background-color: transparent; /* Fondo invisible */
    }
}



/* Aplicar la animación al fondo del ícono */
.icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: blink-background 0.8s step-start infinite; /* Parpadeo rápido del fondo */
}

.icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%; /* Mantener la forma circular de la imagen */
}




input{
    display:grid;
}
input:checked + label{
    width: 500px;
}
input:checked + label .descripcion{
    opacity: 1 !important;
    transform: translateY(0) !important;
}
.card[for="c1"]{
    background-image: url('../img/rectangulos/marketing.jpg');
}
.card[for="c2"]{
    background-image: url('../img/rectangulos/software.jpg');
}
.card[for="c3"]{
    background-image: url('../img/rectangulos/branding.jpg');
}
.card[for="c4"]{
    background-image: url('../img/rectangulos/consulting.jpg');
}


.main-text{
    text-align: center;
}
.main-text h2{
    font-size: var(--h3-font);
    color: #111;
    margin-bottom: 10px;
}
.main-text h4{
    color:  var(--main-color);
    font-size: 24px;
    font-weight: 600;
}


/* Contenedor para la parte superior */
.top{
    position: fixed;
    bottom: 4.4rem;
    left: 2.1rem;
}
.top i{
    color: var(--text-color);
    background: #1b850a;
    font-size: 20px;
    padding: 10px;
    border-radius: 0.5rem;
}
#textswalu {
    animation: escribir-y-eliminar 5s infinite;
    overflow: hidden;
    white-space: nowrap;
  }

  #textswalu1 {
    animation: escribir-y-eliminar 5s infinite;
    overflow: hidden;
    white-space: nowrap;
  }


.scale-up-center:hover {
	-webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

 @-webkit-keyframes scale-up-center {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
  }
  @keyframes scale-up-center {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
  }
  
/* Asegurándose de que el contenedor del separador tenga el ancho completo de la pantalla */
.separador1-container {
    width: 100%; /* Ajusta al ancho del viewport */
    overflow: hidden; /* Evita cualquier desbordamiento */
    }

 /* Separador con animación */
.separador1 {
    border-bottom: 3px solid ; /* Estilo del borde */
    height: 2px; /* Altura del separador */#1b850a
    width: 100%; /* Ajusta el ancho al 100% del contenedor */
    position: absolute; /* Posicionamiento absoluto dentro del contenedor */
    left: 50%; /* Centra el inicio del separador en el medio horizontalmente */
    transform: translateX(-50%); /* Desplaza el separador hacia la izquierda para alinearlo correctamente */
    background: linear-gradient(to right, transparent, #1b850a, transparent); /* Gradiente para el efecto visual */
    animation: line-move 2s linear infinite; /* Animación continua */
    box-shadow: #1b850a;
}
@keyframes line-move {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}



/* whatsapp estatico */

.whatsapp-button {
    position: fixed;  /* Para que el botón permanezca visible */
    bottom: 350px;  /* Ubicación desde el borde inferior */
    right: 20px;  /* Ubicación desde el borde derecho */
    width: 80px;  /* Ancho del botón */
    height: 80px;  /* Altura del botón */
    background-color: transparent;  /* Color de fondo verde, típico de WhatsApp */
    border-radius: 50%;  /* Forma circular */
    /*box-shadow: 0 12px 12px rgba(0, 0, 0, 0.1);   Sombra para darle relieve */
    display: flex;  /* Centra el contenido dentro del botón */
    align-items: center;  /* Alineación vertical centrada */
    justify-content: center;  /* Alineación horizontal centrada */
    cursor: pointer;  /* Cambia el cursor al pasar por el botón */
    transition: transform 0.3s;  /* Transición suave para animaciones */
    animation: parpadeo 2s infinite;  /* Aplicar la animación de parpadeo */
  }
  
  .whatsapp-button img {
  width: 100%;  /* Tamaño de la imagen relativo al botón */
  height: 100%;  /* Tamaño de la imagen relativo al botón */
  object-fit: contain;  /* Mantener proporciones sin distorsión */
  color: transparent;
  }
  @keyframes parpadeo {
  0%, 100% {
    opacity: 1;  /* Comienza y termina con opacidad completa */
  }
  50% {
    opacity: 0.5;  /* Opacidad reducida para el efecto de parpadeo */
  }
  }
  

/* Pie de página */
footer {
    background-color: #ffffff;
    color: #000000;
    text-align: center;
    padding: 20px;
    flex-shrink: 0;
    font-size: 20px;
}

footer .redes-sociales {
    margin-bottom: 10px;
}

footer .redes-sociales a {
    margin-right: 10px;
}

footer .redes-sociales img {
    height: 10px;
}

/* RESPONSIVE PIE DE PAGINA */

/* Media queries para ajustar el pie de página en pantallas más pequeñas */
@media (max-width: 768px) {
    footer {
        padding: 15px 10px;  /* Reduce el padding para ahorrar espacio */
        font-size: 16px;  /* Reduce el tamaño de la fuente para adaptarse a pantallas más pequeñas */
    }

    footer .redes-sociales img {
        height: 15px;  /* Aumenta el tamaño para mejor accesibilidad en táctiles */
    }
}

@media (max-width: 480px) {
    footer {
        padding: 10px 5px;  /* Aún más pequeño para pantallas de celulares */
        font-size: 14px;  /* Tamaño de fuente más pequeño para economizar espacio */
    }

    footer .redes-sociales a {
        margin-right: 5px;  /* Reduce el margen entre iconos para evitar desbordamiento */
    }

    footer .redes-sociales img {
        height: 20px;  /* Asegura que los iconos sean lo suficientemente grandes para ser tocados fácilmente */
    }
}


/* logo  cambio de color */
.logo {
    animation: changeLogoColor 10s infinite linear;
}

.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px;
  background-color: #f4f4f4;
  color: #282828;
}

.footer-column {
  display: flex;
  align-items: center;  /* Alinea verticalmente el contenido dentro de la columna */
}

.footer-column p{
    margin-right: 5px;
    font-size: 15px;
    font-weight: 700;
    }
  

.footer-column a{
  color: #000000; /* Gris oscuro para los créditos */
  text-decoration: none; /* Elimina el subrayado de los enlaces */
  }

.brand-container {
  display: flex;
  align-items: center;  /* Asegura que el texto y la imagen estén alineados verticalmente */
}

.brand-text {
  margin-right: 10px;  /* Espacio entre el texto y la imagen */
}



.social-media i{
    height: 40px;
    width: 40px;
    background: #12141c;
    border-radius: 0.5rem;
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-right: 10px;
    transition: all .40e ease;
}
.social-media i:hover{
    transform:  scale(1.2)translateY(-5px);
    color: var(--text-color);
    background: var(--main-color);
}

.brand-image {
  width: 180px;  /* Tamaño uniforme para los iconos de redes sociales y la imagen de la marca */
  height: auto;  /* Mantener la proporción de la imagen */
}

@keyframes changeLogoColor {
    0% {
        filter: hue-rotate(0deg);  /* Comienza sin cambios de color */
    }
    100% {
        filter: hue-rotate(360deg);  /* Rotación completa de matiz */
    }
}



  /*aviso legal*/
  .content-wrapper {
    display: flex; /* Usa Flexbox para alinear lado a lado */
    align-items: start; /* Alinea los elementos al inicio de su contenedor */
    justify-content: center; /* Centra los elementos horizontalmente */
    max-width: 1600px; /* Controla el ancho máximo del contenedor */
    margin: auto; /* Centra el contenedor en la página */
    gap: 10px; /* Espacio entre la imagen y el texto */
    padding: 100px;
}

.img-container {
    flex: 0 1 450px; /* No crece, puede encogerse, base de 300px */
    height: auto; /* Altura automática para mantener la proporción */
    }

.img-container img {
    width: 100%; /* Asegura que la imagen llene su contenedor */
    height: auto; /* Mantiene la proporción de la imagen */
    border-radius: 20%;
    padding: 30px;
}

main {
    flex: 1; /* Ocupa el espacio restante */
    text-align: justify; /* Justifica el texto para una lectura uniforme */
}

@media (max-width: 768px) {
    .content-wrapper {
        flex-direction: column; /* Cambia la disposición a vertical en pantallas pequeñas */
    }

    .img-container, main {
        flex: none; /* No usa flex en pantallas pequeñas */
        width: 100%; /* Ocupa el 100% del ancho */
    }
}

 /* LOGO LINK INICIO */
 .logo-link {
    text-decoration: none;  /* Elimina el subrayado del enlace */
    display: inline-block;  /* O cualquier otro display que funcione con tu layout */
}


/*ANIMACION DE LOGO*/
.logo-animation {
    position: relative;
    width: 90px;  /* Ajusta el tamaño según sea necesario */
    height: 90px;  /* Ajusta el tamaño según sea necesario */
    overflow: hidden;
}

.logo-animation img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    animation: fadeInOut 10s infinite;
    opacity: 0;
}

.logo-animation img:first-child {
    animation-delay: -7s;
}

@keyframes fadeInOut {
    0%, 100% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}


/* RESPONSIVE */
/* Media queries para tablets */
@media (max-width: 768px) {
    .container {
        width: 95%;  /* Aumenta el ancho para usar más espacio disponible */
        padding: 10px;  /* Reduce el padding para adaptarse a pantallas más pequeñas */
    }
  }
  
  /* Media queries para celulares */
  @media (max-width: 480px) {
    .container {
        width: 100%;  /* Utiliza todo el ancho de la pantalla */
        padding: 5px;  /* Minimiza el padding para maximizar el espacio disponible */
    }
  }
  @media (max-width: 768px) {
    body {
        font-size: 14px; /* Tamaño ligeramente más pequeño para tablets */
    }
  }
  
  @media (max-width: 480px) {
    body {
        font-size: 12px; /* Tamaño aún más pequeño para celulares */
    }
  }


 
   /* CONTACT FORM */
   .containerF2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 1200px;
    margin: auto;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: #ffffff;
    border-radius: 10px;
    background-color: #f4f4f4;
    color: #333;
    font-size: 16px;
    }

.company-infoF2 {
    flex: 1;
    padding: 20px;
    border-right: 2px solid #ddd;
}

.company-infoF2 h2 {
    margin-bottom: 15px;
    color: #0056b3;
}

.company-infoF2 ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.company-infoF2 li {
    margin-bottom: 10px;
}

.form-containerF2 {
    flex: 2;
    padding: 20px;
}

.form-groupF2 {
    margin-bottom: 15px;
}

label {
    display: block;
    margin-bottom: 5px;
    color: #0056b3;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 10px;
}

.buttonF2 {
    background-color: #0056b3;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    display: block;
    width: 100%;
    margin-top: 10px;
}

.buttonF2:hover {
    background-color: #003580;
}


#alertImage{
    width: 250px;
    height: auto;
}

/* CHAT - Imagen de atención al cliente en la esquina inferior derecha */
.chat-iconA {
    position: fixed;
    bottom: 65px;
    right: 7px;
    width: 120px;
    cursor: pointer;
    z-index: 1000;
}

.chat-iconA img {
    width: 100%;
    border-radius: 40%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

/* Cuadro de chat */
.chat-boxA {
    position: fixed;
    bottom: 150px;
    right: 128px;
    width: 300px;
    background: rgb(0, 0, 0);
    border-radius: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    display:flex;
    flex-direction: column;
    color: #ffffff;

}

.chat-headerA {
    padding: 10px;
    background-color: #929292;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    border-radius: 10px 10px 0 0;
    border-bottom: 2px solid #00ffff
}

.chat-contentA {
    max-height: 200px;
    overflow-y: auto;
    padding: 10px;
    border-top: px solid #00ffff;
    border-bottom: 2px solid #00ffff; 
 
}

.chat-contentA p{
    color: white;

}

.formA {
    display: flex;
    align-items: center;
    padding: 10px;
}

.inputA[type="text"] {
    flex: 1;
    padding: 5px;
    border: 2px solid #00ffff;
    border-radius: 5px;
    margin-right: 10px;
}

.buttonA {
    background-color: #ffffff;
    color: rgb(4, 0, 79);
    padding: 5px 10px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
}

.buttonA:hover {
    background-color: #02d9ff;
}

.close-btnA {
    cursor: pointer;
    font-size: 20px;
    color: #00ffff;
}



/* Estilo base para el cuadro de alerta */
#customAlert {
    display: none; /* Se muestra solo cuando sea necesario */
    position: fixed; /* Fijo para mantener el cuadro en la misma posición */
    left: 50%; /* Centrado horizontal */
    top: 50%; /* Centrado vertical */
    transform: translate(-50%, -50%); /* Centrar exactamente */
    width: 300px; /* Ancho del cuadro */
    padding: 20px; /* Espaciado interior */
    background-color: #000000; /* Fondo blanco */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra para destacar */
    border-radius: 10px; /* Bordes redondeados */
    text-align: center; /* Centrar el texto */
    z-index: 1000; /* Encima de otros elementos */
}

/* Estilo para la imagen que sobresale del cuadro */
#alertImage {
    width: 180px; /* Tamaño de la imagen */
    height: 200px;
    position: absolute; /* Para posicionar dentro del cuadro */
    top: -120px; /* Hace que el 70% de la imagen sobresalga y el 30% esté dentro */
    left: 50%; /* Centrado horizontal dentro del cuadro */
    transform: translateX(-50%); /* Centrar exactamente horizontalmente */
    z-index: 1001; /* Encima del cuadro */
}

/* Estilo para el mensaje dentro del cuadro */
#alertMessage {
    margin-top: 60px; /* Espacio debajo de la imagen que sobresale */
}


/* Estilo Portafolio */
.containerM {
    display: flex;
    justify-content: space-between;
    margin: 20px;
    padding-left: 20px;
    padding-right: 20px;
    align-items: stretch; /* Alinea los elementos hijos verticalmente */
    gap: 20px; /* Aumenta el espacio entre columnas */
}

.columnM {
    text-align: center;
    overflow: hidden; /* Impide que el contenido desborde la columna */
    position: relative;
    background: #fcfcfc; /* Fondo claro para contraste */
    color: #000000;
    border-radius: 10px;
    transition: transform 0.5s ease;
    padding: 10px;
    flex: 1; /* Distribuye el espacio igualmente entre columnas */
    display: flex;
    flex-direction: column; /* Organiza los elementos de la columna verticalmente */
    justify-content: space-between; /* Distribuye el espacio entre elementos internos */
    height: 350px; /* Altura fija para la columna */
}

.image-containerM {
    position: relative;
    overflow: hidden;
    flex-grow: 1; /* Permite que el contenedor de la imagen ocupe el espacio disponible */
    border-radius: 25px;
}

.image-containerM img {
    width: 100%;
    height: 100%; /* Ajusta la altura de la imagen al contenedor */
    object-fit: cover; /* Asegura que la imagen cubra completamente el espacio sin deformarse */
    transition: transform 0.5s ease;
}

.info-button {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; /* Coloca el botón detrás de la imagen inicialmente */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    width: 100%;
    background-color: #1b850a;
    height: 40px;
    font-weight: 800;
    font-size: 15px;
    color: white;
}

.overlay-textM {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.5); /* Fondo semi-transparente para el texto */
    color: white;
    padding: 10px 0; /* Espacio vertical dentro del texto */
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.columnM:hover img {
    transform: translateY(-15%); /* Mueve la imagen hacia arriba para revelar el botón y el texto */
}

.columnM:hover .info-button,
.columnM:hover .overlay-textM {
    opacity: 1;
    visibility: visible;
}

h3{
    padding: 10px;
    margin: 0; /* Remueve los márgenes para mantener el contenido bien alineado */
    }

p {
    padding: 10px;
    margin: 0; /* Remueve los márgenes para mantener el contenido bien alineado */
    font-size: 13PX;
}

/* Banda transparente */
.image-marquee {
    width: 100%;
    height: 150px; /* Ajusta según la altura deseada */
    overflow: hidden;
    position: relative;
    background: rgba(250, 250, 250, 0.2); /* Banda transparente */
}

.marquee-track {
    display: flex;
    animation: marquee 20s linear infinite;
}

.marquee-track img {
    height: 150px; /* Asegura que las imágenes tengan la altura deseada */
    width: auto; /* Ajusta automáticamente el ancho para mantener la proporción */
    flex-shrink: 0; /* Evita que las imágenes se reduzcan */
    object-fit: contain; /* Muestra completamente la imagen sin recortarla */
    margin-right: 110px; /* Añade un espacio entre cada imagen */
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%); /* Mueve el contenedor para crear el efecto infinito */
    }
}

/*LOGO LETRAS */
.contener {
    display: flex;
    align-items: center;  /* Alinea verticalmente los elementos */
}

.title {
    margin-left: 10px;
    align-items: center;  
    align-content: center;
}

.title p {
    margin: 0;  /* Añade algo de espacio entre los párrafos si es necesario */
    color: #1b850a;
    font-weight: bold;
}
.title h3 {
    font-family: 'OCR A Extended', monospace;
    font-size: 40px;
    margin: 0;
    margin-bottom: -25px;
    color: #000000;
}
@keyframes pump {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

.pump {
    animation: pump 0.6s ease-in-out infinite;
}

.bouncing-ball {
    position: absolute;
    top: 50%; /* Centra verticalmente */
    left: 50%; /* Centra horizontalmente */
    width: 5px; /* Ancho inicial de la pelota */
    height: 5px; /* Alto inicial de la pelota */
    background-color: blue; /* Color de la pelota */
    border-radius: 50%; /* Hace que la pelota sea un círculo */
    transform: translate(-50%, -50%); /* Centra la pelota */
    animation: bounce 5s infinite; /* Ejecuta la animación cada 15 segundos de forma infinita */
}

@keyframes bounce {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1); /* Estado inicial y final */
    }
    50% {
        transform: translate(-50%, -50%) scale(1.5); /* Agrandamiento máximo */
    }
}

/*SERVICIOS*/


/*PARA LO QUE REALIZAMOS*/

.services-section {
    padding: 50px 20px;
    background-color: #ffffff;
}

.elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.elementor-widget {
    margin-bottom: 30px;
}

.elementor-heading-title {
    font-size: 32px;
    color: #333333;
    margin-bottom: 40px;
}

.elementor-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.elementor-column {
    flex: 0 0 48%; /* Ocupa el 48% del contenedor, ajustando el espacio entre columnas */
    margin-bottom: 30px; /* Espacio vertical entre las filas */
}

.elementor-icon-box-wrapper {
    display: flex;
    align-items: center;
    text-align: left;
    padding: 20px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.elementor-icon-box-wrapper:hover {
    transform: translateY(-10px);
}

.elementor-icon-box-icon {
    flex-shrink: 0;
    font-size: 40px;
    color: #097a1c;
    margin-right: 20px;
}
.elementor-icon-box-icon i{
    color: #1b850a;
}

.elementor-icon-box-title {
    font-size: 20px;
    color: #333333;
    margin-bottom: 10px;
}

.elementor-icon-box-description {
    font-size: 16px;
    color: #666666;
    margin: 0;
}

.elementor-widget-spacer {
    margin-top: 30px;
}

.elementor-spacer-inner {
    height: 20px;
}