* {
    margin: 0;
    padding: 0;
}

button {
    all: unset;
    cursor: pointer;
}

body, html {
    width: 100vw;
    overflow-x: hidden;
}

a {
    all: unset;
    cursor: pointer;
}

@font-face {
    font-family: 'neulis';
    src: url('neulis-sans.otf') format('opentype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'neulis_black';
    src: url('Neulis_Neue_Black.otf') format('opentype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'bebas_neue';
    src: url('BebasNeue-Regular.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: "Poppins-Light";
    src: url(Poppins-Light.ttf) format(truetype);
}

body {
    font-family: 'neulis';
    font-weight: 500;
}

@media (min-aspect-ratio: 16/16) {
    .contenedor_whatsapp {
        position: fixed;
        bottom: 1.5vw;
        left: 1.5vw;
        border-radius: 2vw;
        overflow: hidden;
        width: 5vw;
        height: 5vw;
        box-shadow: 0 0.5vw 1vw rgba(0, 0, 0, 0.3);
        transition: 0.75s;
        z-index: 500;
        font-weight: 200;
    }
        
    .barra_verde_whatsapp {
        background-color: #17b932;
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        height: 5vw;
        transition: 0.75s;
    }

    .whatsapp_logo {
        width: 5vw;
        height: 5vw;
        transition: 0.75s;
    }

    .hola_en_que_puedo_ayudarte {
        font-size: 1vw;
        font-family: "Poppins-Light";
        background-color: white;
        border-radius: 10vw;
        box-shadow: 0 0.25vw 5vw rgba(0, 0, 0, 0.3);
        padding: 2vw;
        padding-top: 1vw;
        padding-bottom: 1vw;
        width: 20.25vw;
    }

    .contenedor_whatsapp:hover {
        width: 27.5vw;
        height: 17.5vw;
    }

    .contenedor_whatsapp:hover .barra_verde_whatsapp {
        width: 27.5vw;
        height: 4vw;
    }

    .contenedor_whatsapp:hover .whatsapp_logo {
        width: 4vw;
        height: 4vw;
    }

    .parte_blanca_whatsapp {
        background-color: #ECEBF0;
        width: 100%;
        height: 100%;
        padding: 1.5vw;
    }

    .padre_abrir_chat {
        pointer-events: none;
    }

    .abrir_chat {
        font-size: 1vw;
        font-family: "Poppins-Light";
        background-color: #17b932;
        padding: 1vw;
        padding-left: 1.5vw;
        color: white;
        margin-top: 1.6vw;
        border-radius: 10vw;
        transition: 0.75s;
        position: relative;
        cursor: pointer;
        overflow: hidden;
        z-index: 1;
        transition: color 0.3s ease;
        width: 5.5vw;
        pointer-events: all;
    }

    .abrir_chat::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: black;
        z-index: -1;
        transition: top 0.3s ease;
        border-radius: 1vw;
    }

    .abrir_chat:hover::after {
        top: 0;
    }

    .abrir_chat:hover {
        color: white;
    }

    .parrafo_mensaje_buble {
        font-size: 1.25vw;
        line-height: 1.25vw;
        padding-top: 1vw;
        padding-bottom: 1vw;
        display: flex;
        justify-content: center;
    }

    nav {
        width: 100vw;
        height: 3vw;
        border-top: 1px solid #B4B4B4;
        display: flex;
        justify-content: space-between;
        padding-left: 3vw;
    }

    nav a {
        font-size: 1.25vw;
        line-height: 1.25vw;
        margin: 0.9vw;
        margin-right: 7.75vw;
    }

    nav a:hover {
        text-decoration: underline;
    }

    nav button {
        font-size: 1.25vw;
        line-height: 1.25vw;
        margin: 0.9vw;
        margin-right: 6vw;
        transform: translateY(-0.08vw);
    }

    nav button:hover {
        text-decoration: underline;
    }

    .numero_carrito {
        background-color: black;
        font-size: 1vw;
        line-height: 1vw;
        color: white;
        border-radius: 100%;
        width: 1.35vw;
        height: 1.35vw;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 0.1vw;
        padding-left: 0.05vw;
        padding-right: 0.05vw;
        transform: translate(0.5vw, -0.15vw);
    }

    .politicas-contenedor {
        position: relative;
        display: inline-block;
        font-family: sans-serif;
    }

    .politicas-boton {
        display: flex;
        align-items: center;
        gap: 0.75vw;
        color: black;
        text-decoration: none;
        user-select: none;
    }

    .triangulo {
        width: 0;
        height: 0;
        border-left: 0.4vw solid transparent;
        border-right: 0.4vw solid transparent;
        border-top: 0.4vw solid black;
        transition: transform 0.3s ease;
        cursor: pointer;
    }

    .politicas-lista {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 1vw;
        background: white;
        padding: 1.5vw;
        padding-top: 0;
        padding-bottom: 0;
        box-shadow: 0 0.3vw 0.6vw rgba(0,0,0,0.1);
        z-index: 10;
        width: 21vw;
    }

    .politicas-lista a {
        display: block;
        color: black;
        text-decoration: none;
        margin: 1vw 0;
    }

    .activo .politicas-lista {
        display: block;
    }

    .activo .triangulo {
        transform: rotate(180deg);
    }

    .video_landing {
        width: 100vw;
        height: 41.6vw;
        pointer-events: none;
        opacity: 0.7;
        position: relative;
    }

    .contenedor_video {
        background-color: black;
        width: 100vw;
        height: 41.6vw;
    }

    .contenedor_logo {
        display: flex;
        flex-direction: row;
        position: absolute;
        margin: 3vw;
        z-index: 2;
    }

    .logo {
        width: 12.5vw;
        height: 12.5vw;
    }

    .nombre_logo {
        font-size: 15.5vw;
        line-height: 15.5vw;
        color: white;
        font-family: 'neulis_black';
        margin-left: 2.5vw;
        margin-top: -0.25vw;
    }

    .boton_landing {
        position: absolute;
        font-size: 1.25vw;
        line-height: 1.25vw;
        padding: 1.5vw;
        z-index: 2;
        background-color: white;
        color: black;
        right: 1.5vw;
        top: 42vw;
        overflow: hidden;
        transition: color 0.3s ease;
        border-radius: 5vw;
    }

    .boton_landing::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: black;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .boton_landing:hover::before {
    width: 100%;
    }

    .boton_landing:hover {
        color: white;
    }

    .contenedor_productos {
        margin: 5vw;
        margin-top: 0vw;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 3vw;
        margin-bottom: 3vw;
    }

    .producto_imagen {
        width: 20vw;
    }

    h2 {
        padding-top: 2vw;
        margin-bottom: 2vw;
        margin-left: 5vw;
        font-size: 3.25vw;
        line-height: 3.25vw;
        font-family: 'neulis_black';
    }

    .contenedor_producto_especifico {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .nombre_producto {
        text-align: center;
        margin: 1.5vw;
        margin-top: 1.75vw;
        font-size: 2.5vw;
        line-height: 3vw;
        font-family: 'bebas_neue';
    }

    .precio_producto {
        text-align: center;
        margin: 1.5vw;
        margin-top: 0.25vw;
        margin-bottom: 1.75vw;
        font-size: 1.5vw;
        line-height: 1.75vw;
    }

    .comprar_producto {
        position: relative;
        display: inline-block;
        background-color: black;
        color: white;
        font-size: 1.1vw;
        line-height: 1.1vw;
        padding: 1.25vw 2vw;
        overflow: hidden;
        transition: color 0.4s ease;
        border: none;
        cursor: pointer;
        z-index: 0;
        border-radius: 5vw;
        transition: 0.5s;
    }

    .comprar_producto::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: white;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .comprar_producto:hover::before {
        width: 100%;
    }

    .comprar_producto:hover {
        color: black;
        box-shadow: 0 0 0 1px black;
    }

    .contenedor_sobre_nosotros {
        display: flex;
        flex-direction: row;
    }

    .parrafo_nosotros {
        margin-left: 5vw;
        font-size: 1.2vw;
        line-height: 1.7vw;
        width: 55vw;
    }

    .imagen_nosotros2 {
        width: 25vw;
        height: auto;
        position: relative;
        z-index: 2;
    }

    .contenedor_contacto_titulo {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-right: 5vw;
    }

    .contenedor_arreglo {
        display: flex;
        flex-direction: row;
        margin-left: 9vw;
        margin-top: 1.25vw;
        overflow: hidden;
        margin-bottom: 4vw;
        margin-right: 5vw;
        box-shadow: 0 0 1vw 1vw rgba(0,0,0,0.03);
        border-radius: 3vw;
    }

    .contact_us {
        font-size: 15.5vw;
        line-height: 15.5vw;
        margin-left: 4.5vw;
        position: relative;
        z-index: 2;
    }

    .logo_contacto {
        width: 15vw;
        height: 15vw;
        margin-top: 1.5vw;
        margin-left: 2vw;
        position: relative;
        z-index: 2;
    }

    .box{
        width: 50vw;
        height: 20vw;
        overflow: hidden;
        margin-top: -17.5vw;
        padding-bottom: 2.35vw;
        animation: gato 10s infinite linear;
    }

    @keyframes gato {
        0%{
            transform: translateX(-45vw);
        }
        100% {
            transform: translateX(87.5vw);
        }
    }

    .contenedor_datos_contacto {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        position: relative;
        z-index: 2;
        margin: 5vw;
        margin-top: 0;
        margin-bottom: 4.5vw;
        gap: 5vw;
    }

    .contenedor_datos_contacto div {
        display: flex;
        flex-direction: column;
        width: 30vw;
    }

    .texto_datos_contacto {
        font-size: 1.25vw;
        line-height: 1.5vw;
        margin-bottom: 1vw;
    }

    .texto_datos_contacto2 {
        font-size: 1.25vw;
        line-height: 1.75vw;
        margin-bottom: 1vw;
    }

    .movil {
        display: none;
    }
}

@media (max-aspect-ratio: 16/16) {
    .contenedor_whatsapp {
        position: fixed;
        bottom: 5vw;
        left: 5vw;
        border-radius: 5vw;
        overflow: hidden;
        width: 15vw;
        height: 15vw;
        box-shadow: 0 0.5vw 1vw rgba(0, 0, 0, 0.3);
        transition: 0.75s;
        z-index: 500;
        font-family: "Thunder";
        font-weight: 200;
    }
    
    .barra_verde_whatsapp {
        background-color: #17b932;
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        height: 15vw;
        transition: 0.75s;
    }
    
    .whatsapp_logo {
        width: 15vw;
        height: 15vw;
        transition: 0.75s;
    }
    
    .hola_en_que_puedo_ayudarte {
        font-size: 2.75vw;
        line-height: 3.5vw;
        font-family: "Poppins-Light";
        background-color: white;
        border-radius: 20vw;
        box-shadow: 0 0.5vw 10vw rgba(0, 0, 0, 0.3);
        padding: 4vw;
        padding-top: 3vw;
        padding-bottom: 3vw;
        width: 42.5vw;
    }

    /* Clase que se activa por JS */
    .contenedor_whatsapp.activo {
        width: 60vw;
        height: 37.5vw;
    }

    .contenedor_whatsapp.activo .barra_verde_whatsapp {
        width: 60vw;
        height: 8vw;
    }

    .contenedor_whatsapp.activo .whatsapp_logo {
        width: 8vw;
        height: 8vw;
    }
    
    .parte_blanca_whatsapp {
        background-color: #ECEBF0;
        width: 100%;
        height: 100%;
        padding: 3vw;
    }

    .padre_abrir_chat {
        pointer-events: none;
    }
    
    .abrir_chat {
        font-size: 2.75vw;
        line-height: 3.75vw;
        font-family: "Poppins-Light";
        background-color: #17b932;
        padding: 2vw;
        padding-left: 3vw;
        color: white;
        margin-top: 2.75vw;
        border-radius: 20vw;
        transition: 0.75s;
        position: relative;
        overflow: hidden;
        z-index: 1;
        transition: color 0.3s ease;
        width: 21vw;
        pointer-events: all;
    }
    
    .abrir_chat::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: black;
        z-index: -1;
        transition: top 0.3s ease;
        border-radius: 2vw;
    }

    .contenedor_mensaje_buble {
        width: 100vw;
        padding-top: 0vw;
        padding-bottom: 1vw;
    }

    .parrafo_mensaje_buble {
        font-size: 5vw;
        line-height: 7vw;
        padding-bottom: 3vw;
        box-sizing: border-box;
        white-space: nowrap;
        display: flex;
        justify-content: center;
        padding-top: 4vw;
        text-align: center;
    }

    nav {
        width: 95vw;
        height: 20vw;
        border-top: 1px solid #B4B4B4;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        padding-left: 5vw;
        padding-top: 4vw;
    }

    nav a {
        font-size: 5vw;
        line-height: 5vw;
        margin: 0.9vw;
        margin-right: 7.75vw;
    }

    nav button {
        font-size: 5vw;
        line-height: 5vw;
        margin: 0.9vw;
        margin-right: 6vw;
        transform: translateY(-0.08vw);
    }

    .numero_carrito {
        background-color: black;
        font-size: 3.5vw;
        line-height: 3.5vw;
        color: white;
        border-radius: 100%;
        width: 4vw;
        height: 4vw;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 0.6vw;
        padding-left: 0.3vw;
        padding-right: 0.3vw;
        transform: translate(0.5vw, -1.5vw);
    }

    .politicas-contenedor {
        position: relative;
        display: inline-block;
        font-family: sans-serif;
    }

    .politicas-boton {
        display: flex;
        align-items: center;
        gap: 0.75vw;
        color: black;
        text-decoration: none;
        user-select: none;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .triangulo {
        width: 0;
        height: 0;
        border-left: 1.25vw solid transparent;
        border-right: 1.25vw solid transparent;
        border-top: 1.25vw solid black;
        transition: transform 0.3s ease;
        cursor: pointer;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .politicas-lista {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 1vw;
        background: white;
        padding: 3vw;
        padding-top: 0;
        padding-bottom: 0;
        box-shadow: 0 0.3vw 0.6vw rgba(0,0,0,0.1);
        z-index: 10;
        width: 38vw;
    }

    .politicas-lista a {
        display: block;
        color: black;
        text-decoration: none;
        margin: 4vw 0;
    }

    .activo .politicas-lista {
        display: block;
    }

    .activo .triangulo {
        transform: rotate(180deg);
    }

    .video_landing {
        width: auto;
        height: 177.5vw;
        pointer-events: none;
        opacity: 0.7;
        position: relative;
    }

    .contenedor_video {
        background-color: black;
        width: 100vw;
        height: 177.5vw;
        display: flex;
        justify-content: center;
    }

    .contenedor_logo {
        display: flex;
        flex-direction: column;
        position: absolute;
        z-index: 2;
    }

    .logo {
        width: 50vw;
        height: 50vw;
        margin-top: 10vw;
        margin-bottom: 10vw;
        margin-left: 25vw;
    }

    .nombre_logo {
        font-size: 17.5vw;
        line-height: 17.5vw;
        color: white;
        font-family: 'neulis_black';
        margin-left: 5vw;
        margin-top: -0.25vw;
    }

    .boton_landing {
        position: absolute;
        font-size: 5vw;
        line-height: 5vw;
        padding: 3vw;
        z-index: 2;
        background-color: white;
        color: black;
        right: 30vw;
        bottom: 6vw;
        overflow: hidden;
        transition: color 0.3s ease;
        border-radius: 5vw;
    }

    .boton_landing::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: black;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .contenedor_productos {
        margin: 10vw;
        margin-top: 0vw;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 3vw;
        margin-bottom: 3vw;
    }

    .producto_imagen {
        width: 80vw;
    }

    h2 {
        padding-top: 8vw;
        margin-bottom: 5vw;
        margin-left: 5vw;
        margin-right: 5vw;
        font-size: 8vw;
        line-height: 8vw;
        text-align: center;
        font-family: 'neulis_black';
    }

    .contenedor_producto_especifico {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .nombre_producto {
        text-align: center;
        margin: 5vw;
        margin-top: 5vw;
        font-size: 12vw;
        line-height: 12vw;
        font-family: 'bebas_neue';
    }

    .precio_producto {
        text-align: center;
        margin: 1.5vw;
        margin-top: 0vw;
        margin-bottom: 1.75vw;
        font-size: 5vw;
        line-height: 7vw;
    }

    .comprar_producto {
        position: relative;
        display: inline-block;
        background-color: black;
        color: white;
        font-size: 5vw;
        line-height: 5vw;
        padding: 4vw 6vw;
        overflow: hidden;
        transition: color 0.4s ease;
        border: none;
        cursor: pointer;
        z-index: 0;
        border-radius: 8vw;
        transition: 0.5s;
        margin-top: 4vw;
        margin-bottom: 6vw;
    }

    .comprar_producto::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: white;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .contenedor_sobre_nosotros {
        display: flex;
        flex-direction: column;
    }

    .parrafo_nosotros {
        margin-left: 10vw;
        font-size: 5vw;
        line-height: 7vw;
        margin-right: 10vw;
        text-align: center;
        margin-bottom: 10vw;
    }

    .imagen_nosotros2 {
        width: 90vw;
        height: auto;
        position: relative;
        z-index: 2;
    }

    .contenedor_contacto_titulo {
        display: flex;
        flex-direction: column;
    }

    .contenedor_arreglo {
        display: flex;
        flex-direction: row;
        margin-left: 10vw;
        margin-top: 1.25vw;
        overflow: hidden;
        margin-bottom: 10vw;
        border-radius: 6vw;
        margin-right: 10vw;
        margin-top: 8vw;
        display: none;
    }

    .contact_us {
        font-size: 17.5vw;
        line-height: 17.5vw;
        margin-left: 4.5vw;
        position: relative;
        z-index: 2;
    }

    .logo_contacto {
        width: 50vw;
        height: 50vw;
        margin-top: 1.5vw;
        margin-left: 25vw;
        position: relative;
        z-index: 2;
        margin-bottom: 10vw;
    }

    .box{
        width: 200vw;
        height: 80vw;
        overflow: hidden;
        margin-top: -59vw;
        padding-bottom: 10vw;
        animation: gato 10s infinite linear;
    }

    @keyframes gato {
        0%{
            transform: translateX(-155vw);
        }
        100% {
            transform: translateX(87.5vw);
        }
    }

    .contenedor_datos_contacto {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        position: relative;
        z-index: 2;
        margin: 10vw;
        margin-top: 0;
        margin-bottom: 4.5vw;
        gap: 5vw;
        text-align: center;
    }

    .contenedor_datos_contacto div {
        display: flex;
        flex-direction: column;
        width: 80vw;
    }

    .texto_datos_contacto {
        font-size: 5vw;
        line-height: 7vw;
        margin-bottom: 1vw;
    }

    .texto_datos_contacto2 {
        font-size: 5vw;
        line-height: 7vw;
        margin-bottom: 1vw;
    }

    .pc {
        display: none;
    }
}