@font-face {
    font-family:Open_sans;
    src: url('../fonts/OpenSans-VariableFont_wdth\,wght.ttf') format('truetype');
}
*
{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}
:root
{
    --color_principal:rgb(157,25,21);
    --color_tabla:rgb(99, 18, 15);
    --color_gris:rgb(55,55,55);
    --color_datos: rgb(255, 139, 135);
    --color_datos_2: rgb(255, 191, 188);
}
body
{
    font-family:"Open_sans";
}
/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/*primera parte*/
.contenedor_primera_partte
{
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content:flex-start;
    background-image: url(../img/img_1_pt1.webp);
    background-size: cover;
    background-position: center;
}
.cont_info_pt1
{
    width: 50%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content:flex-end;
    flex-direction: column;
    /*border: 1px solid blue;*/
    padding-left: 40px;
    padding-bottom: 100px;
}
.cont_info_pt1 h1
{
    font-size: 110px;
    font-weight: 500;
    color: white;
    line-height: 0.2;
    padding-bottom: 30px;
}
.cont_info_pt1 span
{
    font-size: 30px;
    font-weight: 500;
    color: white;
}
.cont_info_pt1 p
{
    font-size: 20px;
    color: white;
    padding-bottom: 20px;
    font-weight: 400;
}
.boton_contacto
{
    width: 250px;
    height: 50px;
    background-color: var(--color_principal);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    border: 1px solid white;
    cursor: pointer;
    transition: all 0.3s ease;
}
.boton_contacto:hover
{
    background-color: var(--color_gris);
}
.boton_contacto h6
{
    font-size: 20px;
    color: white;
}
/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/*segunda parte*/
.contenedor_segunda_parte
{
    width: 100%;
    display: flex;
    align-items:flex-start;
    justify-content: center;
    background-image: url(../img/img_rejillas_pt2.webp);
    background-position: center;
    background-size: cover;
    padding-top: 80px;
    padding-bottom: 50px;
}
.cont_izq_pt2
{
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cont_izq_pt2 img
{
    object-fit: cover;
}
.cont_der_pt2
{
    width: 50%;
    display: flex;
    align-items:flex-start;
    justify-content: center;
    flex-direction: column;
    padding: 0 20px;
}
.cont_tiulos_fondo
{
    width: 100%;
    height: 100px;
    display: flex;
    align-items:flex-end;
    justify-content:flex-start;
    background-image: url(../img/titulo_somos.webp);
    background-position: left;
    background-repeat: no-repeat;
    background-size: contain;
    /*border: 1px solid red;*/
    margin-bottom: 20px;
}
.cont_der_pt2 h2
{
    font-size: 50px;
    font-weight: 400;
    color: var(--color_principal);
}
.cont_der_pt2 p
{
    font-size: 20px;
    font-weight: 400;
    color: var(--color_gris);
    padding-bottom: 20px;
}
.cont_der_pt2 a
{
    text-decoration: none;
}
/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/*tercera parte*/
.contenedor_tercera_parte
{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 80px;
    padding-bottom: 50px;
}
.titulo_usar_pt3
{
    width: 100%;
    height: 120px;
    display: flex;
    align-items:flex-end;
    justify-content: center;
    background-image: url(../img/titulo_rejillas_pt3.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.contenedor_tercera_parte h2
{
    font-size: 50px;
    font-weight: 400;
    color: var(--color_principal);
}
.cont_ventajas_pt3
{
    width: 100%;
    padding: 50px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    /*border: 1px solid red;*/
}
.box_uso_pt3
{
    width: 250px;
    height: 250px;
    /*border: 1px solid red;*/
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.30);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.30);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.30);
    border-radius: 5px;
    margin: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 10px;
    cursor: pointer;
    transition: all 0.5s ease;
}
.cont_arriba_box
{
    width: 100%;
    height: 45%;
    /*border: 1px solid red;*/
    display: flex;
    align-items: center;
    justify-content: center;
}
.cont_izq_arriba_box
{
    width: 50%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    /*border: 1px solid red;*/
}
.circulo_box
{
    width:90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg , rgba(157,25,21, 0.1), rgba(157,25,21, 0));
}
.cont_der_arriba_box
{
    width: 55%;
    height: 100%;
    display: flex;
    align-items:flex-start;
    justify-content:center;
}
.cont_der_arriba_box p
{
    font-size: 70px;
    font-weight: 400;
    color: var(--color_principal);
    opacity: 0;
    transition: all 0.3s ease;
}
.cont_abajo_box
{
    width: 100%;
    height: 60%;
    /*border: 1px solid green;*/
    display: flex;
    align-items:flex-start;
    justify-content: center;
    flex-direction: column;
}
.cont_abajo_box p
{
    font-size: 17px;
    color: var(--color_gris);
}
.cont_abajo_box .p_grande
{
    font-size: 20px;
}

.box_uso_pt3:hover
{
    translate: 0 -4px;
}
.box_uso_pt3:hover .cont_der_arriba_box p
{
    opacity: 0.3;
}
/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/*cuarta parte*/
.contenedor_cuarta_parte
{
    width: 100%;
    padding: 50px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: var(--color_principal);
    background-image: url(../img/img_fondo_pt4.webp);
    background-size: cover;
    background-position: center;
}
.titulo_usar_pt4
{
    width: 100%;
    height: 120px;
    display: flex;
    align-items:flex-end;
    justify-content: center;
    background-image: url(../img/titulo_ventajas_pt4.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.contenedor_cuarta_parte h2
{
    font-size: 50px;
    font-weight: 400;
    text-align: center;
    color: white;
}
.cont_ventajas_pt4
{
    width: 100%;
    padding: 50px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    /*border: 1px solid red;*/
}

.box_producto_pt4
{
    width: 22%;
    height: 35vh;
    -webkit-box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.75);
    -moz-box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.75);
    box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.75);
    border-radius: 10px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    transition: all 0.3s ease;
    overflow: hidden;
    margin: 10px;
}
.box_producto_pt4 h3
{
    width: 100%;
    height: 60px;
    font-size: 20px;
    font-weight: 400;
    background-color: rgba(99, 18, 15, 0.8);
    backdrop-filter: blur(1px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
}
.box_producto_pt4:hover
{
    translate: 0 -4px;
}

.producto_1
{
    background-image: url(../img/producto_1.webp);
    background-position: center;
    background-size: cover;
}
.producto_2
{
    background-image: url(../img/producto_2.webp);
    background-position: center;
    background-size: cover;
}
.producto_3
{
    background-image: url(../img/producto_3.webp);
    background-position: center;
    background-size: cover;
}
.producto_4
{
    background-image: url(../img/producto_4.webp);
    background-position: center;
    background-size: cover;
}
.producto_5
{
    background-image: url(../img/producto_5.webp);
    background-position: center;
    background-size: cover;
}
/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/*cuarta parte B*/
.contenedor_cuarta_parte_B
{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 80px;
    padding-bottom: 50px;
    background-color: rgb(235,235,235);
}
.titulo_pt4_B
{
    width: 100%;
    height: 100px;
    /*border: 1px solid red;*/
    background-image: url(../img/titulo_productos.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    align-items: center;
    justify-content: center;
}
.titulo_pt4_B h2
{
    font-size: 50px;
    font-weight: 400;
    color: var(--color_principal);
    text-align: center;
}
.cont_link_productos
{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content:space-around;
    padding: 30px 0;
}
.box_pagina
{
    width: 40%;
    height: 400px;
    /*border: 1px solid red;*/
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    margin: 10px;
}
.cont_fondo_box
{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.5);
}
.cont_animado
{
    width: 0%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    transform: width;
}
.box_pagina h3
{
    position: absolute;
    text-align: center;
    font-size: 50px;
    font-weight: 500;
    color: var(--color_principal);
    opacity: 1;
    transition: all 0.3s ease;
}
.box_pagina h4
{
    position: absolute;
    font-size: 40px;
    font-weight: 500;
    color: white;
    opacity: 0;
    transition: all 0.3s ease;
}
.box_pagina:hover .cont_animado
{
    width: 100%;
    background-color: rgba(157,25,21,0.7);
}
.box_pagina:hover .cont_animado h3
{
    opacity: 0;
}
.box_pagina:hover .cont_animado h4
{
    opacity: 1;
}

.aceros
{
    background-image: url(../img/img_fondo_pt5.webp);
    background-position: center;
    background-size: cover;
}
.fibra
{
    background-image: url(../img/fibra_producto.webp);
    background-position: center;
    background-size: cover;
}

/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/*formulario*/
.cont_formulario_completo
{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 50px 0;
}
.cont_titulo_formulario
{
    width: 100%;
    height: 120px;
    /*border: 1px solid red;*/
    background-image: url(../img/titulo_formulario.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 60%;
    display: flex;
    align-items:flex-end;
    justify-content: center;
}
.cont_titulo_formulario h2
{
    font-size: 50px;
    font-weight: 400;
    color: var(--color_principal);
}
.formulario_contacto
{
    width: 90%;
    padding: 30px 0;
    /*border: 1px solid red;*/
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.fila_campo_form
{
    width: 49%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px;
    /*border: 1px solid green;*/
}
input
{
    width: 100%;
    height: 30px;
    border: 1px solid var(--color_principal);
    font-size: 17px;
    padding-left: 10px;
}
textarea
{
    width: 99%;
    height: 200px;
    border: 1px solid var(--color_principal);
    margin: 10px 0;
    font-size: 17px;
    padding: 10px;
}
.button
{
    border: none;
    background-color: white !important;
}

.w_100
{
    width: 100%;
}
.text_error_forms
{
    color: var(--color_principal);
    font-size: 1.2rem;
    opacity: 0;
}

@media screen and (max-width:840px)
{
    .fila_campo_form
    {
        width: 100%;
    }
}
@media screen and (max-width:570px)
{
    .cont_titulo_formulario
    {
        height: 100px;
        background-size: 90%;
    }
    .cont_titulo_formulario h2
    {
        font-size: 40px;
    }
}
@media screen and (max-width:395px)
{
    .cont_titulo_formulario
    {
        height: 80px;
    }
    .cont_titulo_formulario h2
    {
        font-size: 30px;
    }
}