/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.5.1.1742428351
Updated: 2025-03-19 23:52:31

*/

.d-none{
    display: none;
}

@media (max-width: 768px) { /* Ajusta según el tamaño que necesites */
    img.wp-block-getwid-media-text-slider-slide-content__image.wp-image-22:first-of-type {
        object-position: 60% center; /* Desplaza un poco hacia la derecha */
    }
}


/* --------------Doble borde--------------- */
.doble-borde-animado {
    position: relative;
    padding-top: 20px;
    overflow: hidden;
}

/* Primera capa del borde */
.doble-borde-animado::before,
.doble-borde-animado::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 12px; /* MÁS GRUESO */
    transition: width 1s ease-in-out;
    clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%); /* DIAGONAL "/" */
}

/* Color de la primera capa (Azul Oscuro) */
.doble-borde-animado::before {
    background-color: #01014b;
}

/* Color de la segunda capa (Celeste) */
.doble-borde-animado::after {
    background-color: #00aaff;
    top: 12px; /* Se desplaza más abajo para dar efecto de doble borde */
}

/* Cuando la clase "activo" se agrega, el borde se queda fijo */
.doble-borde-animado.activo::before {
    width: 50%;
}

.doble-borde-animado.activo::after {
    width: 65%;
}

/* ------------------------------------------------------ */
/* --------------Nueva animacion--------------- */

.borde-interno-animado {
    position: relative;
    padding: 20px;
    overflow: visible; /* Permite que el borde sobresalga */
    z-index: 1; /* Mantiene el contenido por encima */
}

/* Primera capa del borde (Azul Oscuro) */
.borde-interno-animado::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0%;
    height: 25%; /* Grosor del borde */
    background-color: #01014b;
    transition: width 1s ease-in-out;
    z-index: 1; /* Más atrás */
    clip-path: polygon(100% 0, 100% 100%, 10% 100%, 0 0); /* Diagonal izquierda */
}

/* Segunda capa del borde (Celeste) */
.borde-interno-animado::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0%;
    height: 20%; /* Un poco menos de grosor para que se note el azul */
    background-color: #00aaff;
    transition: width 1s ease-in-out;
    z-index: 1; /* Más arriba que el azul oscuro */
    clip-path: polygon(100% 0, 100% 100%, 10% 100%, 0 0);
    bottom: 2px; /* Ajustamos para que no se empalme totalmente */
}

/* Activación de la animación */
.borde-interno-animado.activo::before {
    width: 50%;
}

.borde-interno-animado.activo::after {
    width: 65%;
}

/* --------------seccion quienes somos padding--------------- */

.p-l-h2-somos{
    padding: 15px;
}

.p-l-somos-p{
    padding: 15px;
}

/* --------------Fade-ins--------------- */

.fade-in-scroll {
    opacity: 0;
    transform: translateY(30px); /* Inicia desplazado hacia abajo */
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}

/* Cuando la clase "activo" se agrega, el texto aparece */
.fade-in-scroll.activo {
    opacity: 1;
    transform: translateY(0);
}


/* --------------Cards--------------- */
 /* Sección aislada del tema GeneratePress */
         /* Sección */
        .custom-section {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
            background-color: #f4f4f4;
        }

        .custom-container {
            display: grid;
            gap: 20px;
            padding: 20px;
            width: 100%;
            max-width: 1200px;
        }

        /* Grid Responsivo */
        @media (min-width: 1024px) {
            .custom-container {
                grid-template-columns: repeat(3, 1fr);
            }
        }
        @media (min-width: 768px) and (max-width: 1023px) {
            .custom-container {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        @media (max-width: 767px) {
            .custom-container {
                grid-template-columns: 1fr;
            }
        }

        /* Tarjetas Flip */
        .custom-flip-card {
            width: 100%;
            height: 220px;
            perspective: 1000px;
        }

        .custom-flip-card-inner {
            width: 100%;
            height: 100%;
            transition: transform 0.6s;
            transform-style: preserve-3d;
            position: relative;
            border-radius: 20px;
        }

        .custom-flip-card:hover .custom-flip-card-inner {
            transform: rotateY(180deg);
        }

        .custom-flip-card-front,
        .custom-flip-card-back {
            width: 100%;
            height: 100%;
            position: absolute;
            backface-visibility: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            border-radius: 20px;
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
            font-size: 18px;
            font-weight: bold;
            color: white;
            padding: 20px;
            text-align: center;
            transition: all 0.3s ease-in-out;
        }

        .custom-flip-card-front {
            background: linear-gradient(135deg, #001f3f, #003366);
        }

        .custom-flip-card-back {
            background: linear-gradient(135deg, #66b2ff, #0099ff);
            transform: rotateY(180deg);
        }

        /* 🔥 Corrección: Mantener animación y permitir giro */
        .custom-step-1 .custom-flip-card-front {
            animation: pulse 1.5s infinite alternate;
            outline: 3px solid #ffcc00;
        }

        /* Animación de pulsación */
        @keyframes pulse {
            0% {
                box-shadow: 0 0 10px rgba(255, 204, 0, 0.8);
            }
            100% {
                box-shadow: 0 0 25px rgba(255, 204, 0, 1);
            }
        }

        /* Indicador de paso */
.custom-step-indicator {
    font-size: 18px;
    font-weight: bold;
    background: rgba(255, 204, 0, 0.9);
    color: #001f3f;
    padding: 5px 12px;
    border-radius: 10px;
    position: absolute;
    top: 10px;
    left: 10px;
    transition: all 0.3s ease;
}

/* Ajuste en pantallas menores a 768px */
@media (max-width: 767px) {
    .custom-step-indicator {
        font-size: 14px;
        padding: 4px 10px;
        top: 5px;
        left: 5px;
    }
}

        /* Icono en el centro */
        .custom-icon {
            font-size: 50px;
            margin-bottom: 10px;
        }
     /*----------------- widget footer---------------------- */   
/* Contenedor principal */
.contact-widget {
    background: #012F56; /* Azul marino */
    color: white;
    padding: 20px;
    text-align: center;
    border-radius: 8px;
}

/* Título */
.contact-title {
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: bold;
}

/* Contenedor de los datos */
.contact-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

/* Estilo de cada fila de contacto */
.contact-item {
    width: 90%;
    max-width: 400px;
}

/* Enlace interactivo */
.contact-item a {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Íconos alineados a la izquierda */
    gap: 10px;
    background: #034A7F; /* Azul más claro */
    padding: 12px 15px;
    border-radius: 5px;
    width: 100%;
    text-decoration: none;
    color: white;
    transition: background 0.3s ease-in-out;
}

/* Íconos */
.contact-item a i {
    font-size: 20px;
    color: white;
    transition: color 0.3s ease-in-out;
}

/* Texto */
.contact-item a span {
    font-size: 16px;
    color: white;
    transition: color 0.3s ease-in-out;
}

/* Efecto hover */
.contact-item a:hover {
    background: #022D4F; /* Oscurece el fondo */
}

.contact-item a:hover i,
.contact-item a:hover span {
    color: #f39c12; /* Cambia el color del ícono y texto */
}

/* Responsivo */
@media (max-width: 480px) {
    .contact-item {
        width: 100%;
    }
    .contact-item a {
        font-size: 14px;
        padding: 10px;
    }
    .contact-item a i {
        font-size: 18px;
    }
}










.inside-footer-widgets {
    display: flex
;
    align-items: center;
}






.custom-footer-social {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #0d3b66; /* Azul marino */
    color: #ffffff;
    font-size: 24px;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}

.social-link:hover {
    background-color: #1496f8; /* Celeste */
}

.facebook {
    background-color: #3b5998;
}

.instagram {
    background-color: #e4405f;
}

.whatsapp {
    background-color: #25d366;
}








.contact-form-widget {
    background: #002147; /* Azul oscuro */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    text-align: center;
    max-width: 400px;
    margin: auto;
    color: white;
}

.contact-form-title {
    font-size: 22px;
    margin-bottom: 15px;
    font-weight: bold;
}

.contact-form-container form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: left;
}

.contact-form-container input,
.contact-form-container textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
    background: white;
    color: #333;
}

.contact-form-container textarea {
    resize: vertical;
    height: 100px;
}

.contact-form-container input[type="submit"] {
    background: #ffcc00; /* Amarillo para resaltar */
    color: #002147;
    border: none;
    padding: 10px;
    font-size: 16px;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s ease;
    font-weight: bold;
}

.contact-form-container input[type="submit"]:hover {
    background: #ffb300;
}

.wpcf7-form select {
    width: 100%; /* Hace que el select ocupe todo el ancho */
    padding: 10px; /* Ajusta el espacio interno */
    border: 1px solid #ccc; /* Borde similar al de los inputs */
    border-radius: 5px; /* Bordes redondeados para igualar el diseño */
    background: white; /* Fondo blanco */
    font-size: 16px; /* Tamaño del texto */
    cursor: pointer; /* Muestra que es seleccionable */
}

.generate-back-to-top {
    bottom: 83px;
}






