@charset "utf-8";
@import url("reset.css");

/*------------------------------------------------------------------
VARIABLES
-------------------------------------------------------------------*/

:root {
    --primario: #003E7E;
    --secundario: #b12a1f;
    --tercero: #e5e5e7;
    --gris: #726F6F;
    --claro: #D9D9D9;
    --rojo:#fe1b15;
    --rojoBis:#ff9478;
    --rojo01:#FF716E;
    --rojo02:#FF4944;
    --rojo03:#CF0500;
    --rojo04:#A30400;
    --azul:#011a5c;
    --azulBis: #7d85ac;
    --azul01: #062B8F;
    --azul02: #022276;
    --azul03: #00113D;
    --azul04: #01195C;
}


/* ----------------------------------------------------------------
	Bootstrap Adjustments
-----------------------------------------------------------------*/

@media (min-width: 1200px) {
    .container {
        width: auto;
        max-width: 98%;
    }
}

@media (min-width: 1440px) {
    .container {
        width: auto;
        max-width: 1350px;
    }
}


/* ----------------------------------------------------------------
	Basic
-----------------------------------------------------------------*/

iframe {
    width: 100%;
    border: 0 !important;
    overflow: hidden !important;
}

html,
body {
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
}

body {
    color: #000;
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
}

a {
    text-decoration: none;
}

a:hover {
    color: #000;
}

h3 {
    font-size: 30px;
    font-family: 'Montserrat', sans-serif;
}

.l-none {
    list-style: none;
}

.degradado {
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(229, 229, 231, 1) 46%, rgba(255, 255, 255, 1) 100%);
    padding: 20px 0px;
}

@media (min-width: 1200px) {
    .degradado {
        background: rgb(255, 255, 255);
        background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(229, 229, 231, 1) 46%, rgba(255, 255, 255, 1) 100%);
        padding: 20px 0px;
    }
}

.table-producto .table-responsive table,
th,
td {
    padding: 20px;
}

.table-producto2 table,
th,
td {
    border: 1px solid var(--primario);
    padding: 20px;
}

.cursor {
    cursor: pointer;
}


.img-w100{
    width: 100%;
    height: auto;
}


/* ----------------------------------------------------------------
	text color
-----------------------------------------------------------------*/

.text-red {
    color: var(--secundario);
}

.text-black {
    color: #000;
}

.text-white {
    color: #000;
}

.text-black-dark {
    color: #343434;
}

.text-blue {
    color: var(--primario);
}

.text-gray {
    color: #8c8c8c;
}

.text-green {
    color: green;
}


/* ----------------------------------------------------------------
	header principal
-----------------------------------------------------------------*/

.bg-header {
    background-image: url(../../img/header_home_ibmex.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 240px;
}

.bg-header-nosotros {
    background-image: url(../../img/nosotros/header_nosotros_ibmex.jpeg), url(../../img/nosotros/header_nosotros_ibmex.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-productos {
    background-image: url(../../img/productos/header_productos_ibmex.jpg), url(../../img/productos/header_productos_ibmex.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-piensa {
    background-image: url(../../img/piensa/header_banner_piensa_ibmex.jpg), url(../../img/piensa/header_banner_piensa_ibmex.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-exito {
    background-image: url(../../img/casos_exito/header_casos_de_exito_ibmex.jpg), url(../../img/casos_exito/header_casos_de_exito_ibmex.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-foro {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url(../../img/foro-ibmex/header_foro-ibmex.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-exito1 {
    background-image: url(../../img/casos_exito/construkom/header_casos_exito_construkom_ibmex.jpg), url(../../img/casos_exito/construkom/header_casos_exito_construkom_ibmex.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-exito2 {
    background-image: url(../../img/casos_exito/quiero_casa/header_quiero_casa_casos_exito_ibmex.jpg), url(../../img/casos_exito/quiero_casa/header_quiero_casa_casos_exito_ibmex);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-exito3 {
    background-image: url(../../img/casos_exito/vinte/header_vinte_casos_exito_ibmex.jpg), url(../../img/casos_exito/vinte/header_vinte_casos_exito_ibmex.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-soporte {
    background-image: url(../../img/soporte_tecnico/header_soporte_tecnico_ibmex.jpg), url(../../img/soporte_tecnico/header_soporte_tecnico_ibmex.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-contacto {
    background-image: url(../../img/contacto/contacto_header_industrial_bloquera.jpg), url(../../img/contacto/contacto_header_industrial_bloquera.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-blocks {
    background-image: url(../../img/productos/blocks_concreto/blocks_de_concreto_header_productos.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 250px 0px 80px 0px;
}

.bg-header-stonecrete {
    background-image: url(../../img/productos/stonecrete/header_stonecrete_ibmex.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-stonecrete-detalle {
    background-image: url(../../img/productos/stonecrete/header_stonecrete_detalle.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-niveladores {
    background-image: url(../../img/productos/niveladores/header_niveladores_productos_ibmex.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-bloque {
    background-image: url(../../img/productos/block_divisorio/muro_divisorio_header_ibmex.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-bloque-detalle {
    background-image: url(../../img/productos/block_divisorio/header_muros_divisores_ibmex.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-adoquin {
    background-image: url(../../img/productos/adoquines/adoquines_header.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-adoquin-detalle {
    background-image: url(../../img/productos/adoquines/header_adoquines_ibmex.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-muros {
    background-image: url(../../img/productos/muros_divisores/muros_divisores_header_ibmex.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.bg-header-muros-detalle {
    background-image: url(../../img/productos/muros_divisores/header_muros_divisores_ibmex.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

@media (min-width: 1200px) {
    .bg-header {
        background-image: url(../../img/header_home_ibmex.png), url(../../img/header_home_ibmex.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding-top: 240px;
    }
    .bg-header-nosotros {
        background-image: url(../../img/nosotros/header_nosotros_ibmex.jpeg), url(../../img/nosotros/header_nosotros_ibmex.jpeg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 200px 0px;
    }
    .bg-header-contacto {
        background-image: url(../../img/contacto/contacto_header_industrial_bloquera.jpg), url(../../img/contacto/contacto_header_industrial_bloquera.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-piensa {
        background-image: url(../../img/piensa/header_banner_piensa_ibmex.jpg), url(../../img/piensa/header_banner_piensa_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 45px 0px;
        margin-top: 100px;
    }
    .bg-header-productos {
        background-image: url(../../img/productos/header_productos_ibmex.jpg), url(../../img/productos/header_productos_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-exito {
        background-image: url(../../img/casos_exito/header_casos_de_exito_ibmex.jpg), url(../../img/casos_exito/header_casos_de_exito_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-exito1 {
        background-image: url(../../img/casos_exito/construkom/header_casos_exito_construkom_ibmex.jpg), url(../../img/casos_exito/construkom/header_casos_exito_construkom_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-exito2 {
        background-image: url(../../img/casos_exito/quiero_casa/header_quiero_casa_casos_exito_ibmex.jpg), url(../../img/casos_exito/quiero_casa/header_quiero_casa_casos_exito_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-exito3 {
        background-image: url(../../img/casos_exito/vinte/header_vinte_casos_exito_ibmex.jpg), url(../../img/casos_exito/vinte/header_vinte_casos_exito_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-soporte {
        background-image: url(../../img/soporte_tecnico/header_soporte_tecnico_ibmex.jpg), url(../../img/soporte_tecnico/header_soporte_tecnico_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-blocks {
        background-image: url(../../img/productos/blocks_concreto/blocks_de_concreto_header_productos.jpeg), url(../../img/productos/blocks_concreto/blocks_de_concreto_header_productos.jpeg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 20px 0px;
        margin-top: 100px;
    }
    .bg-header-blocks-detalle {
        background-image: url(../../img/productos/blocks_concreto/header_blocks_concreto.jpg), url(../../img/productos/blocks_concreto/header_blocks_concreto.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 20px 0px;
        margin-top: 100px;
    }
    .bg-header-stonecrete {
        background-image: url(../../img/productos/stonecrete/header_stonecrete_ibmex.jpeg), url(../../img/productos/stonecrete/header_stonecrete_ibmex.jpeg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 20px 0px;
        margin-top: 100px;
    }
    .bg-header-stonecrete-detalle {
        background-image: url(../../img/productos/stonecrete/header_stonecrete_detalle.jpg), url(../../img/productos/stonecrete/header_stonecrete_detalle.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 20px 0px;
        margin-top: 100px;
    }
    .bg-header-niveladores {
        background-image: url(../../img/productos/niveladores/header_niveladores_productos_ibmex.jpeg), url(../../img/productos/niveladores/header_niveladores_productos_ibmex.jpeg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 20px 0px 100px 0px;
        margin-top: 100px;
    }
    .bg-header-bloque {
        background-image: url(../../img/productos/block_divisorio/muro_divisorio_header_ibmex.jpeg), url(../../img/productos/block_divisorio/muro_divisorio_header_ibmex.jpeg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-bloque-detalle {
        background-image: url(../../img/productos/block_divisorio/header_muros_divisores_ibmex.jpeg), url(../../img/productos/block_divisorio/header_muros_divisores_ibmex.jpeg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-adoquin {
        background-image: url(../../img/productos/adoquines/adoquines_header.webp), url(../../img/productos/adoquines/adoquines_header.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 60px 0px;
        margin-top: 100px;
    }
    .bg-header-adoquin-detalle {
        background-image: url(../../img/productos/adoquines/header_adoquines_ibmex.jpg), url(../../img/productos/adoquines/header_adoquines_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 20px 0px;
        margin-top: 100px;
    }
    .bg-header-muros {
        background-image: url(../../img/productos/muros_divisores/muros_divisores_header_ibmex.jpeg), url(../../img/productos/muros_divisores/muros_divisores_header_ibmex.jpeg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-muros-detalle {
        background-image: url(../../img/productos/muros_divisores/header_muros_divisores_ibmex.jpg), url(../../img/productos/muros_divisores/header_muros_divisores_ibmex.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
}

.titulo {
    font-size: 40px;
    font-weight: 800;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
}

@media (min-width: 1200px) {
    .titulo {
        font-size: 65px;
        font-weight: 800;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
    }
}

.bg-subtitulo {
    background-color: rgba(0, 0, 0, .6);
    padding: 20px;
    margin-top: 50px;
}

.bg-video-header {
    background-color: #fff;
    padding: 15px;
    margin-right: 180px;
}

.bg-video-header-mobil {
    background-color: #fff;
    padding: 15px;
}

.icono-play {
    position: absolute;
    top: -40px;
    left: 68%;
}

.icono-play2 {
    position: absolute;
    top: -44px;
    left: 80%;
}

.subtitulo {
    font-size: 25px;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
}

@media (min-width: 1200px) {
    .subtitulo {
        font-size: 30px;
        font-weight: 700;
        font-family: 'Montserrat', sans-serif;
    }
    .icono-play2 {
        position: absolute;
        top: -44px;
        left: 73%;
    }
}

.bg-video-header-nosotros {
    background-color: #fff;
    padding: 15px;
    top: 20%;
    position: absolute;
}

.icon-rs {
    background-color: var(--primario);
    border-radius: 5px;
    color: white;
    font-size: 35px;
    padding: 4px;
    margin-bottom: 15px;
    -webkit-transition: all 0.3s, color 0.3s;
    -o-transition: all 0.3s, color 0.3s;
    transition: all 0.3s, color 0.3s;
}

.icon-rs:hover {
    background-color: rgba(0, 62, 126, .8);
    background-color: var(--secundario);
    color: #fff;
}


/* ----------------------------------------------------------------
	BACKGROUNDS PRODUCTOS
-----------------------------------------------------------------*/

.ficha-img {
    background-image: var(--bg-image);
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 31%, rgba(0, 0, 0, 0.6) 75%), var(--bg-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

.ficha-img2 {
    background-image: var(--bg-image);
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 31%, rgba(0, 0, 0, 0.6) 75%), var(--bg-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 0px 80px 0px;
}

@media (min-width: 1400px) {
    .ficha-img {
        padding: 150px 0px;
    }
}


/* .bg-header-block-hueco-1 {
    background-image: url(../../img/productos/blocks_concreto/block_hueco_de_concreto_header.webp), url(../../img/productos/blocks_concreto/block_hueco_de_concreto_header.jpeg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;  
    padding: 200px 0px 80px 0px;
} */

@media (min-width: 1200px) {
    .ficha-img {
        background-image: var(--bg-image);
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 31%, rgba(0, 0, 0, 0.6) 75%), var(--bg-image);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
    }
    .ficha-img2 {
        background-image: var(--bg-image);
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 31%, rgba(0, 0, 0, 0.6) 75%), var(--bg-image);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 30px 0px;
        margin-top: 100px;
    }
    /*   .bg-header-block-hueco-1 {
        background-image: url(../../img/productos/blocks_concreto/block_hueco_de_concreto_header.webp), url(../../img/productos/blocks_concreto/block_hueco_de_concreto_header.jpeg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    }
    .bg-header-block-resistencia {
        background-image: url(../../img/productos/blocks_concreto/block_alta_resistencia_header.webp), url(../../img/productos/blocks_concreto/block_alta_resistencia_header.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 100px 0px;
        margin-top: 100px;
    } */
}


/* ----------------------------------------------------------------
	FONT SIZE
-----------------------------------------------------------------*/

.fw500 {
    font-weight: 500;
}

.fs22 {
    font-size: 22px;
    font-weight: normal;
}

.fs22b {
    font-size: 22px;
    font-weight: bold;
}

.fs20 {
    font-size: 20px;
    font-weight: bold;
}

.fs25 {
    font-size: 18px;
    font-weight: bold;
}

.fs24 {
    font-size: 24px;
    font-weight: bold;
}

.fs24l {
    font-size: 24px;
}

.fs25l {
    font-size: 20px;
    font-weight: normal;
}

.fs30 {
    font-size: 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
}

.fs30M {
    font-size: 30px;
    font-weight: bold;
}

.fs20l {
    font-size: 20px;
    font-weight: normal;
}


/*  .fs20lR {
        font-size: 20px;
        font-weight: normal;
        font-family: 'Roboto', sans-serif;
    } */

.fs15 {
    font-size: 15px;
    font-family: 'Montserrat', sans-serif;
}

.fs14 {
    font-size: 14px;
}

.fs15b {
    font-size: 15px;
    font-weight: bold;
    font-family: 'Montserrat', sans-serif;
}

.fs15M {
    font-size: 18px;
    font-family: 'Roboto', sans-serif;
}

.fs15bM {
    font-size: 18px;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
}

.fs12 {
    font-size: 12px;
}

.fs13 {
    font-size: 13px;
    font-weight: 400;
}

.fs28 {
    font-size: 28px;
    font-weight: 400;
}

.fs16 {
    font-size: 16px;
}

.fs18 {
    font-size: 18px;
    font-weight: normal;
}

.fs18M {
    font-size: 18px;
    font-family: 'Roboto', sans-serif;
}

.fs18b {
    font-size: 18px;
    font-weight: bold;
}

.fs40 {
    font-size: 40px;
    font-weight: normal;
}

.line-130 {
    line-height: 130%;
}

.font-boton {
    font-size: 17px;
    font-family: 'Montserrat', sans-serif;
}

.font-boton18 {
    font-size: 18px;
    font-family: 'Montserrat', sans-serif;
}

@media (min-width: 1200px) {
    .font-boton {
        font-size: 20px;
    }
    .fs15M {
        font-size: 15px;
    }
    .fs15bM {
        font-size: 15px;
        font-weight: bold;
    }
    .fs18M {
        font-size: 18px;
        font-family: 'Montserrat', sans-serif;
    }
    .fs25 {
        font-size: 25px;
    }
    .fs25l {
        font-size: 25px;
        font-weight: normal;
    }
    .fs30 {
        font-size: 30px;
    }
}

/* ----------------------------------------------------------------
margins
-----------------------------------------------------------------*/

.mt-6 {
    margin-top: 60px;
}

.ms-6 {
    margin-left: 60px;
}

.ms-7 {
    margin-left: 50px;
}

.mt-7 {
    margin-top: 70px;
}

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

.mt-9 {
    margin-top: 90px;
}

.mt-10 {
    margin-top: 100px;
}

.mt-15 {
    margin-top: 150px;
}

.mt-20 {
    margin-top: 200px;
}

.mt-13 {
    margin-top: 130px;
}

.mb-25 {
    margin-bottom: 250px;
}

.mb-20 {
    margin-bottom: 200px;
}

.minHeight75 {
    min-height:75px;
}

@media (min-width: 1200px) {
    .ms-7 {
        margin-left: 70px;
    }
}





/* ----------------------------------------------------------------
	navbar original
-----------------------------------------------------------------*/

.bg-navbar {
    background-color: #fff;
    padding: 10px 0px;
    box-shadow: 0px 2px 0px var(--tercero);
}

#navbar-menu1 li {
    display: inline;
    padding: 0px 30px;
}

#navbar-menu li {
    display: inline;
    padding: 0px 15px;
    padding: 0px 8px;
}

li input {
    border-color: var(--primario) !important;
    border: solid;
    border-width: 3px;
    font-style: italic;
}

.icon-search {
    background-color: #003E7E;
    color: #fff;
    padding: 2px;
}

.navbar-responsive {
    background-color: #fff;
    z-index: 1;
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    overflow-x: hidden;
}





/*-----------------------------------
        NAVBAR                    |
------------------------------------*/
#telIconNavbar{
    height:18px;
    width: 18px;
}

#nav-mobile {
    background-color: #FFF;
    border-bottom: 1px solid var(--tercero);
    padding: 5px 0;
    overflow: hidden;
    position: fixed;
    /* Set the navbar to fixed position */
    top: 0;
    /* Position the navbar at the top of the page */
    width: 100%;
    /* Full width */
    z-index: 99;
}

#nav-mobile .container {
    cursor: pointer;
    display: inline-block;
}

#nav-mobile .bar1,
#nav-mobile .bar2,
#nav-mobile .bar3 {
    width: 35px;
    height: 5px;
    background-color: #000;
    background-color: var(--primario);
    margin: 6px 0;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

#nav-mobile .bar1 {
    margin-top: 15px;
}

#nav-mobile .active .bar1 {
    -webkit-transform: rotate(-45deg) translate(-9px, 6px);
    transform: rotate(-45deg) translate(-9px, 6px);
}

#nav-mobile .active .bar2 {
    opacity: 0;
}

#nav-mobile .active .bar3 {
    -webkit-transform: rotate(45deg) translate(-8px, -8px);
    transform: rotate(45deg) translate(-8px, -8px);
}

.sidenav {
    height: calc(100% - 58px);
    height: calc(100% - 80px);
    width: 0;
    position: fixed;
    z-index: 1;
    top: 80px;
    right: 0;
    background-color: #111;
    background-color: rgba(238, 237, 246, 0.95);
    background-color: var(--gris);
    overflow-x: hidden;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    padding-top: 5px;
    text-align: center;
    z-index: 99;
}

.sidenav a {
    padding: 24px 8px 8px 8px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    color: #404050;
    color: #FFF;
    display: block;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.sidenav a:hover {
    color: #f1f1f1;
    color: #000;
}

.navbar {
    background-color: #FFF !important;
    box-shadow: 0px 2px 0px var(--tercero);
}

.navbar-brand img {
    height: auto;
    width: 50%;
    width: 80px;
}

.navbar-nav .nav-link {
    color: #000;
    border-bottom: solid 3px #FFF;
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin: 0 0 0 20px;
    font-size: 18px;
    font-family: 'Montserrat', sans-serif;
    -webkit-transition: .33s;
    transition: .33s;
}

.navbar-nav .nav-link:hover {
    border-bottom: solid 3px var(--primario);
}
.navbar-nav .dropdown-toggle{
    border-bottom: solid 3px #FFF !important;
}

.navbar-nav .active {
    color: var(--primario);
    font-weight: 600;
}

.nav-button{
    background-color: var(--secundario);
    background-color: #FFF;
    background-color: var(--azulBis);
    border-radius: 10px 0 10px 0;
    color: #FFF;  
    color: var(--primario);
    padding: 2px 5px;
    margin-left: 10px;
    transition: all 0.3s ease;
}
.nav-button:hover{
    background-color: var(--azul);
    border-radius: 10px;
}

.nav-button .iconify{
    color: var(--primario);
    color: #fff;
}



@media (min-width: 1400px) {
    .navbar-nav .nav-link {
        margin: 0 0 0 25px;
    }
}





/* ----------------------------------------------------------------
	BOTONES
-----------------------------------------------------------------*/

.btn-blue {
    background-color: var(--primario);
    color: #fff;
    padding: 5px;
    margin: 0px 80px;
}

.btn-blue:focus,
.btn-blue:hover {
    color: #fff !important;
}

.btn-blue2 {
    background-color: var(--primario);
    color: #fff;
    padding: 20px 30px;
    border: none;
}

.btn-prensa {
    background-color: var(--primario);
    color: #fff;
    padding: 20px 30px;
    margin-right: 120px;
}

.btn-prensa-mobil {
    background-color: var(--primario);
    color: #fff;
    padding: 20px 30px;
}

.btn-enviar {
    background-color: var(--primario);
    color: #fff;
    padding: 10px 40px;
    margin-top: 30px;
    border: none;
}

.btn-direccion {
    background-color: var(--primario);
    color: #fff;
    padding: 15px 30px;
    margin-top: 30px;
    border: none;
}

.btn-contacto {
    background-color: var(--primario);
    color: #fff;
    padding: 5px 90px;
    border: none;
}

.btn-buscar {
    background-color: var(--primario);
    color: #fff;
    padding: 5px 15px;
    margin: 0;
    border: none;
}

.whastappFloat{
    position: fixed !important;
    bottom: 4%;
    right: 0;  
    margin-right: calc(2% + 70px);
    margin-bottom: 0;
    transition: all 0.3s ease;
}
.whastappFloat:hover{
    scale: 1.1;
}

@media (min-width: 1200px) {
    .btn-blue {
        padding: 20px 0px;
    }
}

/* ----------------------------------------------------------------
	BACKGROUNDS
-----------------------------------------------------------------*/

.bg-blue {
    background-color: var(--primario);
}

.bg-red {
    background-color: var(--secundario);
}

.bg-gray {
    background-color: var(--tercero);
}

.bg-white {
    background-color: #fff;
}

.bg-azul01 {
    background-color: var(--azul01);
}

/* ----------------------------------------------------------------
CARDS
-----------------------------------------------------------------*/

.card-titulo {
    background-color: #fff;
    padding: 10px 60px;
    border-bottom: var(--secundario) 6px solid;
    box-shadow: #666 0 10px 20px;
}

.card-titulo2 {
    background-color: #fff;
    padding: 15px 10px;
    border-bottom: var(--secundario) 6px solid;
    box-shadow: #666 0 10px 20px;
    width: 90%;
    display: block;
}

@media (min-width: 1200px) {
    .card-titulo {
        background-color: #fff;
        padding: 10px 60px;
        border-bottom: var(--secundario) 6px solid;
        box-shadow: #666 0 10px 20px;
    }
    .card-titulo2 {
        background-color: #fff;
        padding: 15px 10px;
        border-bottom: var(--secundario) 6px solid;
        box-shadow: #666 0 10px 20px;
        width: 90%;
        display: block;
    }
}

@media (min-width: 1400px) {
    .card-titulo {
        background-color: #fff;
        padding: 10px 90px;
        border-bottom: var(--secundario) 6px solid;
        box-shadow: #666 0 10px 20px;
    }
    .card-titulo2 {
        background-color: #fff;
        padding: 15px 10px;
        border-bottom: var(--secundario) 6px solid;
        box-shadow: #666 0 10px 20px;
        width: 90%;
        display: block;
    }
}


/* 
.card-titulo {
    background-color: #fff;
    padding: 10px 90px;
    border-bottom: var(--secundario) 6px solid;
    box-shadow: #666 0 10px 20px;
}

.card-titulo2 {
    background-color: #fff;
    padding: 15px 10px;
    border-bottom: var(--secundario) 6px solid;
    box-shadow: #666 0 10px 20px;
    width: 90%;
    display: block;
} */

.card-titulo3 {
    background-color: #fff;
    padding: 10px 30px;
    box-shadow: #666 0 10px 20px;
}

.card-titulo4 {
    background-color: #fff;
    padding: 10px 50px 10px 20px;
    border-bottom: var(--secundario) 6px solid;
    box-shadow: #666 0 10px 20px;
}

.card-position {
    width: 53%;
    display: block;
    margin-top: -45px;
    margin-left: 20%;
}

.card-position2 {
    width: 80%;
    display: block;
    margin-top: -39px;
    margin-left: 13%;
}

.card-position3 {
    width: 100%;
    display: block;
    margin-top: -45px;
    margin-left: 3.9%;
}

.card-position4 {
    width: 80%;
    display: block;
    margin-top: -55px;
    margin-left: 10%;
}

@media (min-width: 1200px) {
    .card-position4 {
        width: 60%;
        display: block;
        margin-top: -55px;
        margin-left: 20%;
    }
}

.card-position5 {
    width: 70%;
    display: block;
    margin-top: -60px;
    margin-left: 13%;
}

.card-position6 {
    width: 80%;
    display: block;
    margin-top: -80px;
    margin-left: 13%;
}

.card-position7 {
    width: 80%;
    display: block;
    margin-top: -60px;
    margin-left: 13%;
}


/* ----------------------------------------------------------------
	CONTACTO
-----------------------------------------------------------------*/

.form-input {
    border: var(--primario);
    border-width: 3px;
    border-style: solid;
    padding: 0.375rem 0.75rem;
    width: 100%;
}

.dato-contacto{
    color: #000;
    display: block;
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    margin: 10px 0 5px 0;
}

/* ----------------------------------------------------------------
	EXTRA
-----------------------------------------------------------------*/

.resultado {
    border-bottom: var(--primario) 3px solid;
    padding: 0 0 20px;
}

.input-border {
    border-width: 3px;
    border-color: var(--primario);
    padding: 8px;
    width: 30%;
}

.bg-listado {
    background-color: #fff;
    border: 2px solid var(--tercero);
    color: #000;
    padding: 10px 20px;
}

.bg-prensa {
    background-color: #fff;
    padding: 30px 40px;
    position: absolute;
    top: -470px;
    left: 650px;
    box-shadow: 3px 4px 15px #bebebe;
}

.bg-prensa-mobil {
    background-color: #fff;
    padding: 30px;
}

.bg-historia {
    background-color: #fff;
    padding: 50px 80px;
    position: absolute;
    top: 60px;
    right: 550px;
    box-shadow: 3px 4px 15px #000;
}

.bg-historia-mobil {
    background-color: #fff;
    padding: 20px;
    box-shadow: 3px 4px 15px #000;
    margin-bottom: 20px;
}

.icon-size {
    font-size: 30px;
    color: var(--primario);
}

.icon-size-2 {
    font-size: 30px;
    color: var(--primario);
}

.icon-size-3 {
    font-size: 25px;
    color: var(--secundario);
}

.separacion {
    padding: 80px 0px;
}

.contenedor-colores {
    display: -webkit-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.elemento-color {
    display: inline-block;
    margin: 8px 10px;
}

.elemento-color img {
    height: auto;
    width: 100%;
    max-width: 54px;
}


/* ----------------------------------------------------------------
	CARDS
-----------------------------------------------------------------*/

.box-caso {
    border: 1px solid #000;
}

.box-caso2 {
    box-shadow: 10px 10px 20px #bebebe, -10px -10px 20px #ffffff;
}


/* ----------------------------------------------------------------
	PRELOADER
-----------------------------------------------------------------*/

#pageloader-overlay {
    opacity: 0;
    top: 0px;
    left: 0px;
    position: fixed;
    background-color: rgba(255, 255, 255);
    height: 100%;
    width: 100%;
    z-index: 9998;
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}

#pageloader-overlay.visible {
    opacity: 1;
}

#pageloader-overlay.hidden {
    opacity: 0;
    height: 0px;
    width: 0px;
    z-index: -10000;
}

#pageloader-overlay .loader-wrapper-outer {
    background-color: transparent;
    z-index: 9999;
    margin: auto;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: table;
    text-align: center;
    vertical-align: middle;
}

#pageloader-overlay .loader-wrapper-inner {
    display: table-cell;
    vertical-align: middle;
}

@keyframes latidos {
    from {
        transform: none;
    }
    50% {
        transform: scale(1.4);
    }
    to {
        transform: none;
    }
}

.efecto {
    animation: latidos .9s infinite;
    transform-origin: center;
}

.icono-scroll {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 80px;
    cursor: pointer;
    width: 50px;
}


/* ----------------------------------------------------------------
	MODAL
-----------------------------------------------------------------*/

.close {
    background: var(--naranja);
    font-size: 30px;
    font-weight: 500;
    position: absolute;
    right: -1px;
    top: 0px;
    color: #00254c;
    padding: 1px 4px;
    right: 0px;
    background: white;
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 0;
    outline: 0;
}


/* ----------------------------------------------------------------
	RELACIONADOS
    -----------------------------------------------------------------*/

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}


/* ----------------------------------------------------------------
	DROPDOWN HOVER
-----------------------------------------------------------------*/

.dropdown-content {
    display: none;
    position: absolute;
    background-color: var(--tercero);
    min-width: 200px;
    z-index: 1;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown:hover .dropdown-content {
    display: block;
}


/*  .dropdown:hover .bg-gray {
        background-color: #3e8e41;
    } */

    .dropdown2 {
        position: relative;
        display: inline-block;
    }

    .dropdown-content2 {
        display: none;
        position: absolute;
        background-color: #f1f1f1;
        min-width: 600px;
        box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
        z-index: 1;
        right: 0%;
        padding: 30px;
    }

    .dropdown-content2 a {
        color: black;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
    }

    .dropdown-content2 a:hover {
        background-color: #ddd;
    }

    .dropdown2:hover .dropdown-content2 {
        display: block;
    }

    .dropdown2:hover .dropbtn2 {
        color: var(--primario);
    }
/* ----------------------------------------------------------------
SELECT
-----------------------------------------------------------------*/

select {
    background-image: url('../../img/flecha-select.png');
    background-repeat: no-repeat;
    background-position: right center;
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
}

select::-ms-expand {
    display: none;
    /*Evita que se muestre la flecha por defecto en versiones de IE*/
}


/* ----------------------------------------------------------------
	TABLA PIENSA
-----------------------------------------------------------------*/

.encabezado {
    background: var(--primario);
    border-right: #fff 2px solid;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    min-height: 40px;
    padding: 14px 10px;
    text-align: center;
}

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

.filtro {
    position: relative;
}

.filtro select {
    border-radius: 0;
    margin: 0 auto 0 42px;
    padding: 10px 50px 10px 10px;
    -webkit-appearance: none;
    border: var(--primario) 2px solid;
    color: var(--primario);
}


/* ----------------------------------------------------------------
	SLIDER 
-----------------------------------------------------------------*/

.mySlides {
    display: none
}

.slideshow-container {
    max-width: 1000px;
    position: relative;
    margin: auto;
}

.prev {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: #737370;
    font-weight: bold;
    font-size: 30px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    margin-left: -80px;
}

.next2 {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: #737370;
    font-weight: bold;
    font-size: 30px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    margin-right: -80px;
}

.next2 {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.fade {
    animation-duration: 1.5s;
}

@keyframes fade {
    from {
        opacity: .4
    }
    to {
        opacity: 1
    }
}

@media only screen and (max-width: 300px) {
    .prev,
    .next2,
    .text {
        font-size: 11px
    }
}


/* ----------------------------------------------------------------
	BIBLIOTECA DIGITAL
-----------------------------------------------------------------*/

.bg-login {
    background-color: var(--primario);
    box-shadow: #c8c2c2 6px 5px 4px;
    padding: 60px;
}

.btn-red {
    background-color: var(--secundario);
    color: #ffff;
    padding: 10px 30px;
    border: none;
}

.btn-blue3 {
    background-color: var(--primario);
    color: #ffff;
    padding: 10px 30px;
    border: none;
}

.bg-registro {
    background-color: #fff;
    box-shadow: 5px 5px 10px #aaa4a4, -5px -5px 10px #faf2f2;
    padding: 20px 60px;
}

.tamanio {
    width: 100% !important;
    height: auto !important;
    display: block;
}

.tamanio2 {
    width: auto !important;
    height: auto !important;
    display: block;
}

.btn-none {
    border: none;
    background-color: transparent;
}
.ocultar {
    display: none;
}
 
.mostrar {
    display: block;
}

.btnIbmexAzul{
    background-color: #1C4378;
    border-color: #1C4378;
    background-color: #003E7E !important;
    border-color: #003E7E !important;
    transition: all 0.3s ease;
}


.btnIbmexAzul:hover{
    background-color: #00135D !important;
    border-color: #00135D !important;
}

.btnIbmexRojo{
    background-color: var(--rojo) !important;
    border-color: var(--rojo) !important;
    transition: all 0.3s ease;
}


.btnIbmexRojo:hover{
    background-color: var(--rojo03)!important;
    border-color: var(--rojo03)!important;
}






/* ----------------------------------------------------------------
	PRODUCTOS
-----------------------------------------------------------------*/
.nombre-producto{
    color: #000;
    font-size: 20px;
    font-weight: bold;
    min-height: 48px;
}

.shape{
    background: var(--secundario);
    /*     margin: 10% auto 0; */  
}
  
 #estrella-12 {
    background: var(--secundario);
    width: 80px;
    height: 80px;
    position: absolute;
    text-align: center;
    z-index: 0;
    top: 0; /* Ajusta la posición superior según tus necesidades */
    left: 0; /* Ajusta la posición izquierda según tus necesidades */
}

#estrella-12::before, #estrella-12:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 80px;
    width: 80px;
    background: var(--secundario);
    z-index: 90;
}

#estrella-12::before {
    -webkit-transform: rotate(30deg);
    -moz-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    -o-transform: rotate(30deg);
}

#estrella-12::after {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
}

.texto-position {
    position: absolute;
    z-index: 100;
    top: 50%; /* Centra verticalmente el texto */
    left: 50%; /* Centra horizontalmente el texto */
    transform: translate(-50%, -50%); /* Centra el texto en el centro de la estrella */
    color: #fff;
}

.tarjetas {
    position: relative; /* Ajusta el contenedor de las tarjetas a posición relativa */
}

li[itemprop~="offers"]{
    list-style-type: none;
}

@media only screen and (min-width: 1280px){
    .nombre-producto{
        min-height: 48px;
    }
}





/* ----------------------------------------------------------------
	GOOGLE MAPS API
-----------------------------------------------------------------*/

.google-map-300 {
    height: 300px;
    width: 100%;
}

.google-map-400 {
    height: 400px;
    width: 100%;
}

.google-map-500 {
    height: 500px;
    width: 100%;
}






/* ----------------------------------------------------------------
	DISTRIBUIDORES
-----------------------------------------------------------------*/
.cta-swipper,
.cta-swipper-azul{
    background-color: #d71316;
    background-color: var(--secundario);
    color: #FFF;
    text-align: center;
    text-transform: uppercase;
    padding: 20px 0;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.cta-swipper-azul{
    background-color: var(--primario);
}

.cta-swipper-azul:hover{
    background-color: rgba(0,62,126,.8);
    padding-right: 10px;
}
.cta-swipper:hover{
    background-color: rgba(177,42,31,.8);
    padding-right: 10px;
}

.table-horarios tr td{
    border: 1px solid #FFF;
    padding: 5px 10px 5px 0;
}

.distribuidores-contacto{
    background-color: #555e79;
    background-color: #0c2a5c;
    color: #FFF;
    padding: 5px 10px;
    margin-bottom: 10px;
}
.accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1rem 0rem;
    font-size: 1rem;
    color: #000;
    text-align: left;
    background-color: #fff;
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;
}

.accordion-button:not(.collapsed) {
    color: #000;
    background-color: #e7f1ff;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.125);
}






/* ----------------------------------------------------------------
	carousel productos home
-----------------------------------------------------------------*/
.primerElmento{
    margin-top: 94px;
}
@media (min-width: 1200px) {
    .primerElmento{
        margin-top: 158px;
    }
}





/* ----------------------------------------------------------------
	carousel productos home
-----------------------------------------------------------------*/
.altura-navbar2{
    margin-top:90px;
}


.item-carousel-home{
    background-color: #d7d7d7;
    border-radius: 20px;
    cursor: pointer;
    display: inline-block;
    min-height: 150px;
    transition: all 0.3s ease;
}
.item-carousel-home img{
    height: auto;
    width: 100%;
}

.item-carousel-home h3{
    color: black;
    text-decoration: none;
    font-size: 24px;
    padding-top: 15px;
    min-height: 65px;
    transition: all 0.3s ease;
}
.item-carousel-home p{
    color: black;
    text-decoration: none;
    font-size: 12px;
    padding-right: 12px;
    opacity: 1;
    transition: all 0.3s ease;
}

.swiperProductos-button-prev,
.swiperProductos-button-next{
    background-color: #494949;
    border: none;
    border-radius: 30px;
    text-align: center;
    height: 40px;
    width: 40px;
    margin: 10px 0 10px 0;
}

.swiperProductos-button-prev .iconify,
.swiperProductos-button-next .iconify{
    color: #FFF;
    font-size: 22px;
}

.swiperProductos-button-prev:hover,
.swiperProductos-button-next:hover{
    background-color: #000;
}

@media (min-width: 1200px) {
    .altura-navbar2{
        margin-top: 140px
    }

    .item-carousel-home h3{
        padding-top: 35px;
    }
    .item-carousel-home p{
        opacity: 0;
        transition-delay: .4s;
    }
    .item-carousel-home:hover{
        background-color: #8a94b2;
        background-color: #ACB3C9;
    }
    .item-carousel-home:hover h3{
        padding-top: 15px;
    }
    .item-carousel-home:hover p{
        opacity: 1;
        transition: all 0.3s ease;
    }
}

/* ----------------------------------------------------------------
	SECCION ÚNTE AL EQUIPO
-----------------------------------------------------------------*/
/* CSS */
.join-team {
  background-color: #f5f5f5;
  padding: 60px 20px;
  font-family: Arial, sans-serif;
}

.join-team .container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.join-team h2 {
  font-size: 2.5em;
  color: #004b8d; /* Azul institucional similar al del sitio */
  margin-bottom: 20px;
}

.join-team .intro {
  font-size: 1.1em;
  color: #333;
  margin-bottom: 30px;
}

.join-team .vacancy-details {
  text-align: left;
  list-style: none;
  padding: 0;
  margin-bottom: 40px;
}

.join-team .vacancy-details li {
  font-size: 1em;
  margin-bottom: 10px;
  line-height: 1.4;
}

.join-team .vacancy-details strong {
  color: #004b8d;
}

.btn-apply {
  display: inline-block;
  background-color: #004b8d;
  color: white;
  text-decoration: none;
  padding: 15px 30px;
  font-size: 1em;
  border-radius: 4px;
  transition: background-color 0.3s;
}

.btn-apply:hover {
  background-color: #003366;
}

/* ----------------------------------------------------------------
	SECCIÓN LOGOS DE CERTIFICACIONES INDEX
-----------------------------------------------------------------*/
/* Tamaño cómodo y responsivo para los logos de certificaciones */
.logo-cert {
  max-width: 240px;   /* móvil */
  width: 120%;
  height: auto;
  transition: transform .2s ease;
}
.logo-cert:hover { transform: scale(1.03); }

@media (min-width: 768px) {
  .logo-cert { max-width: 290px; }  /* tablet */
}
@media (min-width: 1200px) {
  .logo-cert { max-width: 320px; }  /* escritorio grande */
}


/* ----------------------------------------------------------------
	SECCIÓN DE MORTEROS Y REPELLOS INDEX
-----------------------------------------------------------------*/
/* Font-Family */
.morteros-y-repellos-font {
    font-family: "Inter", sans-serif;
}

.prime--arrow-right {
  display: inline-block;
  width: 24px;
  height: 24px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M13 18.75a.74.74 0 0 1-.53-.22a.75.75 0 0 1 0-1.06L17.94 12l-5.47-5.47a.75.75 0 0 1 1.06-1.06l6 6a.75.75 0 0 1 0 1.06l-6 6a.74.74 0 0 1-.53.22'/%3E%3Cpath fill='%23000' d='M19 12.75H5a.75.75 0 0 1 0-1.5h14a.75.75 0 0 1 0 1.5'/%3E%3C/svg%3E");
  background-color: currentColor;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.hero-morteros-y-repellos-ibmex {
  position: relative;
  width: 100%;
  background:
    linear-gradient(to right, #324393, #1b4498b3),
    url('../../img/morteros-y-repellos/header-morteros-y-repellos-ibmex.webp');
  padding: clamp(80px, 12vw, 160px) 0 48px;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-title-morteros-y-repellos {
  color: #fff;
  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(2rem, 6vw, 4.5rem);
  margin: 0;
}

.hero-sub-morteros-y-repellos {
  color: #fff;
  line-height: 1.5;
  font-size: clamp(1rem, 2.2vw, 1.5rem);
  margin: 0;
}

.btn-hero-morteros-y-repellos,
.btn-hero-2-morteros-y-repellos {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: .75rem;
  padding: .75rem 1.25rem;
  font-weight: 600;
  text-decoration: none;
  transition: .2s ease;
  min-width: 220px;
}

.btn-hero-morteros-y-repellos {
  background: #e23b34;
  color: #fff;
}
.btn-hero-morteros-y-repellos:hover { 
  filter: brightness(0.95); 
}

.btn-hero-2-morteros-y-repellos {
  background: #ffffff22;
  color: #fff;
  border: 2px solid #ffffff55;
}
.btn-hero-2-morteros-y-repellos:hover {
  background: #ffffff33;
  border-color: #ffffff88;
}

@media (max-width: 575.98px) {
  .btn-hero-morteros-y-repellos, 
  .btn-hero-2-morteros-y-repellos { 
    width: 100%; 
    min-width: 0; 
  }
}

.card-img-top {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 0;
}

.gg--check-o {
  display: inline-block;
  width: 20px;
  height: 20px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%233257b8'%3E%3Cpath d='M10.243 16.314L6 12.07l1.414-1.414l2.829 2.828l5.656-5.657l1.415 1.415z'/%3E%3Cpath fill-rule='evenodd' d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12m11 9a9 9 0 1 1 0-18a9 9 0 0 1 0 18' clip-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E");
  background-color: currentColor;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  color: #3257b8;
}

.lista-ventajas {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lista-ventajas li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 1rem;
}

.lista-color {
  color: #676f7e;
}

.lista-color li::marker {
  color: #1b4498;
}

.card-morteros-y-repellos {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    text-align: center;
    background-color: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

.icon-card {
    background-color: #f4f6fb;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    margin: 20px auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.margin-titles {
    margin-left: 300px; 
    margin-right: 300px;
}

@media (max-width: 768px) {
    .margin-titles {
        margin: 0;
    }
    
    /* Espaciado para morteros predosificados (columna única) */
    .morteros-predosificados-row .col-6 {
        width: 100%;
        margin-bottom: 1.5rem;
    }
    
    .morteros-predosificados-row .col-6:last-child {
        margin-bottom: 0;
    }
    
    /* Espaciado para repellos predosificados */
    .repellos-predosificados-row .col-lg-3 {
        margin-bottom: 1.5rem;
    }
    
    .repellos-predosificados-row .col-lg-3:last-child {
        margin-bottom: 0;
    }
    
    /* Espaciado para tarjetas de "Por qué elegir IBMEX" */
    .por-que-elegir-row .col-lg-4 {
        margin-bottom: 1.5rem;
    }
    
    .por-que-elegir-row .col-lg-4:last-child {
        margin-bottom: 0;
    }
}

/* ICONOS */
.lucide--award {
  display: inline-block;
  width: 35px;
  height: 35px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m15.477 12.89l1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526'/%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3C/g%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.bi--gear-part2 {
  display: inline-block;
  width: 30px;
  height: 30px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23000'%3E%3Cpath d='M8 4.754a3.246 3.246 0 1 0 0 6.492a3.246 3.246 0 0 0 0-6.492M5.754 8a2.246 2.246 0 1 1 4.492 0a2.246 2.246 0 0 1-4.492 0'/%3E%3Cpath d='M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115z'/%3E%3C/g%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.wi--time-4 {
  display: inline-block;
  width: 40px;
  height: 40px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath fill='%23000' d='M3.74 14.47c0-2.04.51-3.93 1.52-5.66s2.38-3.1 4.11-4.11s3.61-1.51 5.64-1.51c1.52 0 2.98.3 4.37.89s2.58 1.4 3.59 2.4s1.81 2.2 2.4 3.6s.89 2.85.89 4.39c0 1.52-.3 2.98-.89 4.37s-1.4 2.59-2.4 3.59s-2.2 1.8-3.59 2.39s-2.84.89-4.37.89s-3-.3-4.39-.89s-2.59-1.4-3.6-2.4s-1.8-2.2-2.4-3.58s-.88-2.84-.88-4.37m2.48 0c0 2.37.86 4.43 2.59 6.18c1.73 1.73 3.79 2.59 6.2 2.59c1.58 0 3.05-.39 4.39-1.18s2.42-1.85 3.21-3.2s1.19-2.81 1.19-4.39s-.4-3.05-1.19-4.4s-1.86-2.42-3.21-3.21s-2.81-1.18-4.39-1.18s-3.05.39-4.39 1.18S8.2 8.72 7.4 10.07s-1.18 2.82-1.18 4.4m7.92 0V7.81c0-.23.08-.43.24-.59s.36-.24.59-.24s.43.08.59.24s.24.36.24.59v6.15l3.59 2.09c.2.12.32.29.38.51s.03.43-.09.62q-.24.42-.72.42q-.255 0-.42-.12l-3.82-2.23c-.17-.05-.31-.15-.42-.29s-.16-.3-.16-.49'/%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.f7--sparkles {
  display: inline-block;
  width: 40px;
  height: 40px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath fill='%23000' d='M26.688 12.66c.28 0 .421-.164.492-.422c.726-3.914.68-4.008 4.758-4.781c.28-.047.445-.21.445-.492c0-.281-.164-.445-.446-.492c-4.054-.82-3.937-.914-4.757-4.782c-.07-.257-.211-.421-.492-.421s-.422.164-.493.421c-.82 3.868-.68 3.961-4.757 4.782c-.258.046-.446.21-.446.492c0 .281.188.445.445.492c4.079.82 4.032.867 4.758 4.781c.07.258.211.422.492.422M15.344 28.785c.445 0 .75-.281.797-.703c.843-6.258 1.054-6.258 7.523-7.5c.422-.07.727-.352.727-.797c0-.422-.305-.726-.727-.797c-6.469-.89-6.703-1.101-7.523-7.476c-.047-.422-.352-.727-.797-.727c-.422 0-.727.305-.774.75c-.773 6.281-1.101 6.258-7.523 7.453c-.422.094-.727.375-.727.797c0 .469.305.727.82.797c6.376 1.031 6.657 1.195 7.43 7.453c.047.469.352.75.774.75m15.89 25.946c.61 0 1.055-.446 1.172-1.079c1.664-12.843 3.469-14.789 16.172-16.195c.656-.07 1.102-.562 1.102-1.172s-.446-1.078-1.102-1.172c-12.703-1.406-14.508-3.351-16.172-16.195c-.117-.633-.562-1.055-1.172-1.055s-1.054.422-1.148 1.055c-1.664 12.844-3.492 14.789-16.172 16.195c-.68.094-1.125.563-1.125 1.172c0 .61.445 1.102 1.125 1.172c12.656 1.664 14.414 3.375 16.172 16.195c.094.633.539 1.078 1.148 1.078'/%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.uil--shield {
  display: inline-block;
  width: 35px;
  height: 35px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M19.63 3.65a1 1 0 0 0-.84-.2a8 8 0 0 1-6.22-1.27a1 1 0 0 0-1.14 0a8 8 0 0 1-6.22 1.27a1 1 0 0 0-.84.2a1 1 0 0 0-.37.78v7.45a9 9 0 0 0 3.77 7.33l3.65 2.6a1 1 0 0 0 1.16 0l3.65-2.6A9 9 0 0 0 20 11.88V4.43a1 1 0 0 0-.37-.78M18 11.88a7 7 0 0 1-2.93 5.7L12 19.77l-3.07-2.19A7 7 0 0 1 6 11.88v-6.3a10 10 0 0 0 6-1.39a10 10 0 0 0 6 1.39Z'/%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.fluent--layer-20-regular {
  display: inline-block;
  width: 50px;
  height: 50px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M10.505 3.117a1 1 0 0 0-1.011 0l-6.01 3.52a1 1 0 0 0 .003 1.726l6.009 3.502a1 1 0 0 0 1.007 0l6.009-3.502a1 1 0 0 0 .001-1.727zM9.494 4.276a1 1 0 0 1 1.01 0l5.504 3.223l-5.505 3.209a1 1 0 0 1-1.007 0L3.99 7.499zM3.07 9.65l6.438 3.623a1 1 0 0 0 .98 0l6.438-3.623a1 1 0 0 1-.415 1.26l-6.01 3.502a1 1 0 0 1-1.006 0l-6.01-3.502a1 1 0 0 1-.415-1.26m0 2.453l6.438 3.622a1 1 0 0 0 .98 0l6.438-3.622a1 1 0 0 1-.415 1.26l-6.01 3.502a1 1 0 0 1-1.006 0l-6.01-3.502a1 1 0 0 1-.415-1.26'/%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.pepicons-pencil--persons {
  display: inline-block;
  width: 40px;
  height: 40px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='%23000' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M3.36 9.977a5.5 5.5 0 0 0-.923 3.05V14a.5.5 0 1 1-1 0v-.972A6.5 6.5 0 0 1 2.53 9.422l.108-.162a.5.5 0 1 1 .832.555z'/%3E%3Cpath d='M6.18 8.365c-1.09 0-2.107.544-2.711 1.45l-.832-.554a4.26 4.26 0 0 1 3.542-1.896h.22a.5.5 0 0 1 0 1zm3.078 1.6c.47.706.721 1.534.721 2.382h1a5.3 5.3 0 0 0-.889-2.936l-.1-.15a.5.5 0 1 0-.832.554z'/%3E%3Cpath d='M6.448 8.365c1.089 0 2.106.544 2.71 1.45l.832-.554a4.26 4.26 0 0 0-3.542-1.896h-.22a.5.5 0 1 0 0 1z'/%3E%3Cpath d='M6.25 7.25a2.25 2.25 0 1 0 0-4.5a2.25 2.25 0 0 0 0 4.5m0 1a3.25 3.25 0 1 0 0-6.5a3.25 3.25 0 0 0 0 6.5m4.259 4.936a5.5 5.5 0 0 0-.924 3.051v1.034a.5.5 0 1 1-1 0v-1.034a6.5 6.5 0 0 1 1.091-3.605l.133-.2a.5.5 0 0 1 .832.556z'/%3E%3Cpath d='M13.42 11.5a3.34 3.34 0 0 0-2.78 1.488l-.831-.555A4.34 4.34 0 0 1 13.42 10.5h.224a.5.5 0 1 1 0 1zm3.187 1.686a5.5 5.5 0 0 1 .924 3.051v1.034a.5.5 0 1 0 1 0v-1.034a6.5 6.5 0 0 0-1.092-3.605l-.133-.2a.5.5 0 1 0-.832.556z'/%3E%3Cpath d='M13.695 11.5a3.34 3.34 0 0 1 2.78 1.488l.832-.555a4.34 4.34 0 0 0-3.612-1.933h-.225a.5.5 0 1 0 0 1z'/%3E%3Cpath d='M13.5 10.5a2.25 2.25 0 1 0 0-4.5a2.25 2.25 0 0 0 0 4.5m0 1a3.25 3.25 0 1 0 0-6.5a3.25 3.25 0 0 0 0 6.5'/%3E%3C/g%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.streamline--graph-arrow-decrease {
  display: inline-block;
  width: 35px;
  height: 35px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'%3E%3Cpath d='M9.5 10.5h4v-4'/%3E%3Cpath d='M13.5 10.5L7.85 4.85a.5.5 0 0 0-.7 0l-2.3 2.3a.5.5 0 0 1-.7 0L.5 3.5'/%3E%3C/g%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.mynaui--truck {
  display: inline-block;
  width: 40px;
  height: 40px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M9.207 16.455C9.207 17.86 8.095 19 6.724 19s-2.483-1.14-2.483-2.546m4.966 0c0-1.405-1.112-2.545-2.483-2.545s-2.483 1.14-2.483 2.545m4.966 0h5.586m-10.552 0H3V6a1 1 0 0 1 1-1h9.793a1 1 0 0 1 1 1v2.182m5.586 8.272c0 1.406-1.111 2.546-2.482 2.546s-2.483-1.14-2.483-2.546m4.965 0c0-1.405-1.111-2.545-2.482-2.545s-2.483 1.14-2.483 2.545m4.965 0H21v-5.09l-2.515-2.579a2 2 0 0 0-1.431-.603h-2.26m.62 8.272h-.62m0 0V8.182'/%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.bi--gear {
  display: inline-block;
  width: 30px;
  height: 30px;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23000'%3E%3Cpath d='M8 4.754a3.246 3.246 0 1 0 0 6.492a3.246 3.246 0 0 0 0-6.492M5.754 8a2.246 2.246 0 1 1 4.492 0a2.246 2.246 0 0 1-4.492 0'/%3E%3Cpath d='M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115z'/%3E%3C/g%3E%3C/svg%3E");
  background-color: #1b4498;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}





    /* ----------------------------------------------------------------
       Sección contacto: formulario + datos lado a lado
    ---------------------------------------------------------------- */
    .contacto-split {
        background: linear-gradient(160deg, #f4f6fb 0%, #eef1f8 55%, #f8f9fc 100%);
        padding: 72px 0 80px;
        position: relative;
        overflow: hidden;
    }

    /* Círculo decorativo de fondo */
    .contacto-split::before {
        content: '';
        position: absolute;
        top: -80px;
        right: -80px;
        width: 360px;
        height: 360px;
        border: 48px solid rgba(0, 62, 126, 0.055);
        border-radius: 50%;
        pointer-events: none;
    }

    /* Línea divisoria vertical en desktop */
    .contacto-split .cs-divider {
        display: none;
    }
    @media (min-width: 992px) {
        .contacto-split .cs-divider {
            display: block;
            position: absolute;
            left: 58.33%;
            top: 0;
            height: 100%;
            width: 1px;
            background: linear-gradient(
                to bottom,
                transparent 0%,
                rgba(0, 62, 126, 0.18) 25%,
                rgba(0, 62, 126, 0.22) 50%,
                rgba(0, 62, 126, 0.18) 75%,
                transparent 100%
            );
            pointer-events: none;
        }
    }

    /* --- Formulario --- */
    .cs-form-head {
        margin-bottom: 36px;
    }
    .cs-form-head h3 {
        font-family: 'Montserrat', sans-serif;
        font-size: 1.6rem;
        font-weight: 800;
        color: #003E7E;
        margin: 0 0 6px;
        letter-spacing: -0.02em;
    }
    .cs-form-head p {
        font-size: 0.95rem;
        color: #726F6F;
        margin: 0;
    }

    .cs-campo {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }
    .cs-label {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.65rem;
        font-weight: 700;
        letter-spacing: 0.13em;
        text-transform: uppercase;
        color: #003E7E;
    }
    .cs-input {
        width: 100%;
        border: none;
        border-bottom: 2px solid #d0d4de;
        background: transparent;
        padding: 9px 2px;
        font-size: 1rem;
        font-family: 'Roboto', sans-serif;
        color: #111;
        outline: none;
        transition: border-color 0.22s ease;
    }
    .cs-input:focus {
        border-bottom-color: #003E7E;
    }
    .cs-input::placeholder {
        color: #bbbdca;
        font-size: 0.9rem;
    }
    textarea.cs-input {
        resize: vertical;
        min-height: 96px;
    }

    .cs-btn-enviar {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: #003E7E;
        color: #fff;
        border: none;
        padding: 15px 38px;
        font-family: 'Montserrat', sans-serif;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        cursor: pointer;
        margin-top: 28px;
        transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    }
    .cs-btn-enviar .cs-arrow {
        display: inline-block;
        transition: transform 0.2s ease;
    }
    .cs-btn-enviar:hover {
        background: #022276;
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0, 62, 126, 0.25);
    }
    .cs-btn-enviar:hover .cs-arrow {
        transform: translateX(5px);
    }

    /* --- Tarjetas de contacto --- */
    .cs-contact-head {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.65rem;
        font-weight: 700;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #726F6F;
        margin: 0 0 20px;
    }

    .cs-tarjeta {
        background: #fff;
        border-left: 3px solid #003E7E;
        padding: 22px 24px;
        box-shadow: 0 2px 14px rgba(0, 62, 126, 0.07);
        transition: box-shadow 0.22s ease, transform 0.22s ease;
    }
    .cs-tarjeta:hover {
        box-shadow: 0 8px 28px rgba(0, 62, 126, 0.13);
        transform: translateY(-2px);
    }

    .cs-tarjeta-cat {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: #003E7E;
        margin: 0 0 4px;
    }
    .cs-tarjeta-nombre {
        font-family: 'Montserrat', sans-serif;
        font-size: 1rem;
        font-weight: 700;
        color: #111;
        margin: 0 0 14px;
    }
    .cs-dato {
        display: flex;
        align-items: flex-start;
        gap: 9px;
        color: #003E7E;
        font-size: 0.88rem;
        font-family: 'Roboto', sans-serif;
        text-decoration: none;
        margin-bottom: 8px;
        transition: color 0.15s ease;
        word-break: break-all;
        line-height: 1.4;
    }
    .cs-dato:last-child { margin-bottom: 0; }
    .cs-dato:hover { color: #b12a1f; }
    .cs-dato svg {
        flex-shrink: 0;
        margin-top: 2px;
        opacity: 0.65;
    }





/* ----------------------------------------------------------------
	Responsive
-----------------------------------------------------------------*/


/*
@media (min-width: 768px) {
}

@media (min-width: 992px) {
}

@media (min-width: 1200px) {
}

@media (min-width: 1400px) {
}
    
    * {
        background-color: rgba(255, 0, 0, .2);
    }
    
    * * {
        background-color: rgba(0, 255, 0, .2);
    }
    
    * * * {
        background-color: rgba(0, 0, 255, .2);
    }
    
    * * * * {
        background-color: rgba(255, 0, 255, .2);
    }
    
    * * * * * {
        background-color: rgba(0, 255, 255, .2);
    }
    
    * * * * * * {
        background-color: rgba(255, 255, 0, .2);
    }
    
    * * * * * * * {
        background-color: rgba(255, 0, 0, .2);
    }
    
    * * * * * * * * {
        background-color: rgba(0, 255, 0, .2);
    }
    
    * * * * * * * * * {
        background-color: rgba(0, 0, 255, .2);
    }

*/

/* ----------------------------------------------------------------
    FAQ — sección de preguntas frecuentes (reutilizable)
-----------------------------------------------------------------*/
.faq-section {
    padding: 60px 0 80px;
    background: #fff;
}
.faq-eyebrow {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #b12a1f;
    margin-bottom: 12px;
}
.faq-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: #003E7E;
    margin-bottom: 8px;
}
@media (min-width: 1200px) {
    .faq-title { font-size: 38px; }
}
.faq-subtitle {
    font-size: 16px;
    color: #726F6F;
    margin-bottom: 48px;
}
.faq-accordion .accordion-item {
    border: none;
    border-bottom: 1px solid #e5e5e7;
    background: transparent;
}
.faq-accordion .accordion-item:first-child {
    border-top: 1px solid #e5e5e7;
}
.faq-accordion .accordion-button {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #003E7E;
    background: transparent;
    padding: 22px 16px 22px 0;
    box-shadow: none;
    display: flex;
    align-items: center;
    gap: 16px;
}
@media (min-width: 768px) {
    .faq-accordion .accordion-button { font-size: 17px; }
}
.faq-accordion .accordion-button:not(.collapsed) {
    color: #003E7E;
    background: transparent;
    box-shadow: none;
}
.faq-accordion .accordion-button::after { display: none; }
.faq-num {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #003E7E;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    color: #003E7E;
    transition: background 0.25s, color 0.25s;
}
.accordion-button:not(.collapsed) .faq-num {
    background: #003E7E;
    color: #fff;
}
.faq-chevron {
    margin-left: auto;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    position: relative;
}
.faq-chevron::before,
.faq-chevron::after {
    content: '';
    position: absolute;
    background: #003E7E;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.faq-chevron::before {
    width: 12px; height: 2px;
    top: 9px; left: 4px;
}
.faq-chevron::after {
    width: 2px; height: 12px;
    top: 4px; left: 9px;
}
.accordion-button:not(.collapsed) .faq-chevron::after {
    transform: rotate(90deg);
    opacity: 0;
}
.faq-accordion .accordion-body {
    padding: 0 16px 24px 64px;
    font-size: 15px;
    line-height: 1.75;
    color: #444;
}
.faq-accordion .accordion-collapse {
    border-left: 3px solid #003E7E;
    margin-left: 16px;
}
.faq-cta-box {
    margin-top: 48px;
    background: #003E7E;
    padding: 32px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.faq-cta-box p {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}
.faq-cta-box small {
    display: block;
    color: rgba(255,255,255,0.65);
    font-size: 13px;
    font-weight: 400;
    margin-top: 4px;
}
.btn-faq-cta {
    background: #fff;
    color: #003E7E;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: none;
    padding: 14px 32px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s;
    display: inline-block;
}
.btn-faq-cta:hover {
    background: #e5e5e7;
    color: #003E7E;
}

