:root {
    --plomoclaro: #aaa;
    --blanco: #fff;
    --negro: #000;
    --naranja: #ff7713;
    --plomo: #a6a6a6;
    --azul: #134EB7;
    --verde: #268E00;
    --rojo: #C70039;
    --fuente: 'Raleway', sans-serif;
    --rojointenso : rgb(189, 7, 7);
}

html{
    box-sizing: border-box;
    font-size: 62.5%;
}

*, *:before, *:after{
    box-sizing: inherit;
}

body{
    font-family: var(--fuente);
    font-size: 1.6rem;
    line-height: 2.5;
}

.contenedor{
    max-width: 120rem;
    width: 95%;
    margin: 0 auto;
}

ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

img{
    width: 100%;
}

a{
    text-decoration: none;
}

p{
    margin: 0;
}

.text-naranja{
    color: var(--naranja);
}

.boton{
    padding: 1rem;
    font-weight: bold;
    cursor: pointer;
    border: none;
}

.boton-negro{
    background-color: var(--negro);
    color: var(--blanco);
    transition: all .5s ease-in-out;
}

.boton-negro:hover{
    background-color: #CCD1D1;
    color: var(--negro);
}

/* Navegacion */
.navegacion{
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

.navegacion a{
    padding: .5rem;
    display: block;
    color: var(--negro);
    transition: .5s;
}

.enlace{
    overflow: hidden;
    text-align: center;
}

.enlace:hover .submenu{
    max-height: 300px;
}

.logo{
    width: 175px;
    margin: 0 auto;
}

.submenu{
    transition: all 2s ease;
    max-height: 0;
    background-color: #F4F6F6;
}

.contenido-header{
    align-items: center;
    padding: .5rem;
}

.enlace a:hover{
    color: var(--naranja);
}

.submenu a:not(:last-child){
    border-bottom: .5px solid #CCD1D1;
}

.submenu a{
    color: #424949;
}

.submenu a:hover{
    background-color:  #E5E8E8;
}

@media(min-width:768px){

    .enlace:not(:last-child){
        border-right: .5px solid #CCD1D1;
    }

    .navegacion{
        flex-direction: row;
    }

    .enlace{
        flex: 1;
        position: relative;
        overflow: visible;
    }

    .enlace .submenu{
        position: absolute;
        width: 100%;
    }

    .submenu a{
        display: none;
    }

    .enlace:hover .submenu a{
        display: block;
    }

    .logo{
        width: 250px;
        margin: 0; 
    }
    
    .contenido-header{
        display: grid;
        grid-template-columns: 1fr 3fr;
        align-items: center;
    }

}

/* Portada */
.webp .portada{
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/work-offic.webp);
}

.no-webp .portada{
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/work-offic.jpg);
}

.portada{
    background-position: center center;
    background-size: cover;

    display: flex;
    flex-direction: column;
    justify-content: end;
    min-height: 30rem;
}

.portada h1{
    color: var(--blanco);
    font-weight: bold;
    line-height: 2;
    margin: 0;
    font-size: 3rem;
}

.portada p{
    line-height: 2;
    margin: 0;
    font-size: 3rem;
    -webkit-text-stroke: 1px var(--blanco);
    color: transparent; 
}

@media(min-width: 720px){

    .portada{
        min-height: 50rem;
    }

    .portada h1{
        font-size: 5rem;
    }
    
    .portada p{
        font-size: 5rem;
    }
}


.portada h1{
    animation-duration: 3s;
    animation-name: slidein2;
    animation-timing-function: ease-in-out;
}

.portada p {
    animation-duration: 3s;
    animation-name: slidein;
    animation-timing-function: ease-in-out;
}
  
@keyframes slidein {
    from {
        margin-left: 100%;
        width: 300%
    }

    to {
        margin-left: 0%;
        width: 100%;
    }
}

@keyframes slidein2 {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0);
    }
}

.nosotros{
    border-bottom: .5px solid #CCD1D1;
}

.nosotros-video{
    padding: 2rem;
}

.nosotros-texto{
    text-align: justify;
    padding: 1rem;
}

.nosotros-texto p{
    margin-top: 2rem;
}

.nosotros-texto h2 span{
    color: var(--naranja);
}

@media(min-width: 720px){

    .nosotros{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

}

.productos{
    margin-top: 2rem;
}

.productos p{
    font-size: 2rem;
    text-align: center;
}

.img{
    margin: 2rem;
}

@media(min-width: 720px){

    .productos{
        display: grid;
        grid-template-columns: 3fr .01fr 3fr;
    }

    .img{
        display: grid;
        grid-template-rows: 3fr 1fr;
        align-items: center;
        padding: 3rem;
    }

    .separador{
        border-left: .5px solid #CCD1D1;
    }

}

.webp .man-woman{
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/man-woman.webp);
}

.no-webp .man-woman{
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/man-woman.jpg);
}

.man-woman{
    background-position: center center;
    background-size: cover;
    margin-top: 2rem;
    min-height: 15rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--blanco);
    font-size: 2rem;
    font-weight: 700;
}

.man-woman span{
    -webkit-text-stroke: .5px var(--naranja);
    color: transparent; 
}

@media(min-width: 720px){
    .man-woman{
        font-size: 5rem;
        min-height: 30rem;
    }
}

.footer{
    margin-top: 2rem;
}

.copyright{
    margin-top: 2rem;
    background-color: #CCD1D1;
    text-align: center;
    padding: 1rem;
}

.redes{
    max-width: 10rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 2rem;
}

.contenedor-footer{
    text-align: center;
    display: grid;
    grid-template-rows: repeat(6,1fr);
    justify-content: center;
    align-items: center;
}

@media(min-width: 720px){

    .contenedor-footer{
        grid-template-columns: 3fr 2fr 2fr 2fr 2fr 1fr;
        grid-template-rows: none;
    }

    .contenedor-footer div{
        padding: 1rem;
    }

    .contenedor-footer div:not(:last-child){
        border-right: .5px solid #CCD1D1;
    }

}

/* Página Blog */

.webp .portada-blog{
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/blog.webp);
}

.no-webp .portada-blog{
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/blog.jpg);
}

.portada-blog{
    background-position: center center;
    background-size: cover;

    display: flex;
    flex-direction: column;
    justify-content: end;
    min-height: 30rem;
}

.portada-blog h1{
    color: var(--blanco);
    font-weight: bold;
    line-height: 2;
    margin: 0;
    font-size: 3rem;
    animation-duration: 3s;
    animation-name: slidein;
    animation-timing-function: ease-in-out;
}

@media(min-width: 720px){

    .portada-blog{
        min-height: 50rem;
    }

    .portada-blog h1{
        font-size: 6rem;
    }
}

.titulo-blog{
    font-size: 1.5rem;
    border-bottom: .5px solid #CCD1D1;
}

.titulo-blog span{
    color: var(--naranja);
}

@media(min-width: 720px){

    .titulo-blog{
        font-size: 2rem;
    }
}

.contenedor-articulos{
    margin-top: 3rem;
}

@media(min-width: 720px){

    .contenedor-articulos{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        column-gap: 2rem;
    }
}

.articulo{
    margin-top: 2rem;
}

.articulo div{
    text-align: right;
}

.articulo p{
    text-align: justify;
}

.articulo h3{
    text-align: center;
    margin: 0;
}

@media(min-width: 720px){

    .articulo{
        max-width: 35rem;
    }
}

/* Pagina aliados */
@media(min-width: 720px){
    .contenido-aliados{
        display: flex;
    }
}

.contenido-aliados{
    margin-top: 3rem;
}

.contenedor-aliados-img:hover{
    border-bottom: 2px solid var(--naranja);
    -webkit-filter: none;
    filter: none;
}


.contenedor-aliados-img{
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    border-bottom: 2px solid #CCD1D1;
    transition: all .5s ease;
    max-width: 35rem;
    margin: 0 auto;
    margin-top: 2rem;
    min-height: 15rem;
    display: flex;
    align-items: center;
}

.contenido-formulario{
    background-color: #E5E8E8;
    border-radius: 1rem;
    margin-top: 2rem;
    margin: 2rem auto 0 auto;
    padding: 1rem;
}

@media(min-width: 720px){

    .contenido-formulario{
        max-width: 60rem;
    }
}

.contenido-formulario h3{
    text-align: center;
    margin: 0;
}

.enviar{
    display: flex;
    justify-content: right;
}

.formulario label{
    font-size: 1.5rem;
    display: block;
    font-weight: bold;
}

.formulario input:not([type="submit"]){
    padding: 1rem; 
    display: block;
    width: 100%;
    border: 1px solid var(--plomo);
    border-radius: 3px;
    margin-bottom: 1rem;
}

.formulario textarea{
    border: 1px solid var(--plomo);
    border-radius: 3px;
    width: 100%;
    padding: 1rem;
    height: 20rem;
}

.boton-contacto{
    font-weight: bold;
    text-decoration: none;
    padding: 1rem 2rem;
    margin-top: 2.5rem;
    border: none;
    cursor: pointer;
    background-color: var(--negro);
    color: var(--blanco);
}

.alerta{
    text-align: center;
    color: var(--blanco);
    font-weight: bold;
    margin-bottom: 1rem;
}

.error{
    background-color: var(--rojointenso);
}

.exito{
    background-color: var(--negro);
    font-size: 2rem;
}


.contenido-articulo{
    min-height: 55rem;
}

.tabla-articulos{
    margin-top: 3rem;
    width: 100%;
    border-spacing: 0;
}

.tabla-articulos thead{
    background-color: #E5E8E8;
}

.tabla-articulos thead th{
    color: var(--negro);
}

.tabla-articulos .imagen-tabla{
    width: 10rem;
}

.tabla-articulos tbody tr{
    text-align: center;
}

.imagen-small{
    width: 15rem;
}

.acciones{
    display: grid;
    grid-template-rows: repeat(2,1fr);
    justify-content: center;
    align-items: center;
    gap: .5rem;
}


.articulo-completo{
    margin: 2rem auto 0 auto;
}

.articulo-completo div{
    display: flex;
    justify-content: space-between;
}

.articulo-completo div span{
    font-weight: bold;
}

.articulo-completo .contenido{
    text-align: justify;
}

@media(min-width: 720px){

    .articulo-completo{
        max-width: 70rem;
    }
}

.mensaje-correo{
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 10rem;
}

@media(min-width: 720px){

    .mensaje-correo{
        font-size: 5rem;
        font-weight: bold;
        margin-bottom: 35rem;
    }
}

@media(min-width: 720px){

    .contenido-etico{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        column-gap: 1rem;
    }
}

.imagen-etica{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.imagen-etica .iconos{
    height: 12rem;
    width: 12rem;
    background-color: #E5E8E8;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.iconos img{
    width: 7rem;
}

.leyenda-aliados{
    margin-top: 3rem;
    text-align: center;
    font-weight: bold;
    font-size: 3rem;
    font-style: italic;
}

.boton-flotante {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: var(--naranja); /* Rojo alerta */
    color: white;
    padding: 12px 18px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    z-index: 999;
    transition: background-color 0.3s, transform 0.2s;
}

.boton-flotante:hover {
    background-color: var(--naranja);
    transform: scale(1.05);
}

.shake-bell {
    margin-right: 10px;
    animation: shake 1.5s infinite;
}

@keyframes shake {
    0% { transform: rotate(0deg); }
    20% { transform: rotate(-15deg); }
    40% { transform: rotate(15deg); }
    60% { transform: rotate(-10deg); }
    80% { transform: rotate(10deg); }
    100% { transform: rotate(0deg); }
}