/* Generales */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root{
    --Space-padding: 50px;
    --short-padding: 20px;
}

body{
    font-family: "Texto";
    background-color: var(--neutral1);
}

a{
    text-decoration: none;
}

/*Estilos de botones CTA */
.btn{
    display: inline-block;
    background-color: var(--anchor);
    color: var(--neutral1);
    cursor: pointer;    
    padding: 10px 20px;
    transition: background-color 0.3s ease, color 0.3s ease;
    border-radius: 6px;
    font-size: 1rem
}

.btn:hover{
    
    background-color: var(--CTA);
    color: var(--neutral1);
}

/* Estilos para los quotes*/
.quote{
    display: flex;
    gap:20px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--mainColor);
    background:var(--neutral1);
    padding: var(--Space-padding);    
}

.quote blockquote{
    font-family: "Titulo";
    font-size: clamp(16px, 3vw, 24px);
    text-align: center;
    padding-bottom: 10px;
}

.quote p{
    font-family: "Texto";
    font-size: clamp(16px, 3vw, 24px);
    text-align: center;
}

.textBox{
    width: 100%;
    
    font-family: "Texto";
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6; ;
    background-color: var(--neutral1);
    color: var(--mainColor);
    padding: var(--Space-padding);
    text-wrap: balance;
    margin: auto;
}

.textBox h2{
    max-width: 80ch;
    margin: auto;
    margin-bottom: 20px;
}

.textBox p{
    padding-bottom: 20px;
    text-wrap: balance;
    max-width: 80ch;
    margin: auto;
}

.textBox p a{
    color: var(--anchor);
    transition: color 0.3s ease;
}

.textBox p a:hover{
    color: var(--CTA);
}

.textBox ul{
    list-style-position: inside;
    margin: auto;
    max-width: 80ch;
}

/*Formularios*/


.textBox form{
    width: 100%;
    max-width: 80ch;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.textBox form label{
    font-family: "Texto";
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6; ;
    color: var(--mainColor);
    cursor: pointer;
}

.textBox form input{
    max-width: 50ch;
    padding: 10px;
    border: none;
    border-bottom: var(--mainColor) solid 2px;
    border-radius: 6px;
    color: var(--anchor);
    font-family: "Texto";
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6; ;
    cursor: pointer;
}

.textBox form input:focus{
    border: solid 2px var(--mainColor);
}

 #codigo{
    max-width: 15ch;
    padding: 10px;
    border: none;
    border-bottom: var(--mainColor) solid 2px;
    border-radius: 6px;
    color: var(--anchor);
    font-family: "Texto";
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6; ;
    cursor: pointer;
    align-self: center;
}

.textBox form select{
    max-width: 50ch;
    padding: 10px;
    border: none;
    border-radius: 6px;
    background-color: var(--neutral2);
    color: var(--mainColor);
    font-family: "Texto";
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6; ;
    cursor: pointer;
}

#labelTextArea{
    grid-column: 1 / -1; /* Ocupa todas las columnas del grid */
    display: flex;
    flex-direction: column;
}

.textBox form textarea{
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 6px;
    background-color: var(--neutral2);
    color: var(--mainColor);
    font-family: "Texto";
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6; ;
    resize: vertical;
    cursor: pointer;
}

.textBox form button[type="submit"]{
    font-family: "Texto";
    cursor: pointer;
    align-self: center;
    text-align: center;
    margin-bottom: 20px;
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6; 
    justify-self: center;
    grid-column: 1 / -1;
}

.textBox2{
    width: 100%;    
    font-family: "Texto";
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6; ;
    background-color: var(--mainColor);
    color: var(--neutral1);
    padding: var(--Space-padding);
    text-wrap: balance;
}

.textBox2 p{
    padding-bottom: 20px;
    text-align: left;
    max-width: 80ch;
    margin: auto;
}
/* Estilo para el mainNav */
.mainNav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--mainColor);
    color: white;
    padding: 0 20px;
}

.mainNav figure{
    height:100%;
}

.mainNav_logo{
    height: 100%;
    padding: 20px;
}

.mainNav_logo img{
    display: block;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.mainNav ul{
    display: flex;
    gap:20px;
    list-style: none;
    font-size: 1rem;
    width: auto;
}

.mainNav ul li{
    text-align: center;
}

.mainNav ul li::after{
    content: " ";
    display: block;
    border-radius: 12px;
    width: 0;    
    height: 5px;
    background-color: var(--CTA);
    transition: width 0.3s ease;
}

.mainNav ul li:hover::after{
   width: 100%;
}

.mainNav ul li a{
    display: block;
    padding: 5px 20px;
    color:#fff;
    transition: color 0.3s ease;
}

.mainNav ul li a:active{
    color: var(--CTA);
}

    #btn_menu{
        display: none;
    }

    .grid_projects{
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
        background-color: var(--neutral1);
        background-image: url(../img/identity/logos/favicon_blanco.svg);
        background-repeat: repeat;
        background-size: 50px 50px;
    }

    .grid_project_item{
        position: relative;
        display: flex;
        gap:20px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 400px;
        background-repeat: no-repeat;
        background-size: 120%;
        background-position: center;
        background-blend-mode:darken;
        transition: background-size 0.3s ease;
        overflow: hidden;
    }

    .grid_project_item:hover > .grid_project_item_bg{
        transform: scale(1.1);    
    }

    .grid_project_item:hover > .btn{
        background-color: var(--CTA);
    }

    .grid_project_item_bg{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: transform 1s ease;
        }

    .grid_project_item_bg img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        filter: brightness(.7);
    }

    .grid_project_item  h1{
        font-family:"Titulo";
        color: #fff;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
        font-size: 2.5rem;
        text-align: center;
        z-index: 1;
    }

    .grid_project_item .btn{
        z-index: 1;
    }

    /* Estilos para el footer */
    .mainFooter{
        background: var(--mainColor);
        color: var(--neutral1);
        padding: 0 20px;
    }

    .mainFooter>header{
        height: 200px;
    }

    .mainFooter>header>figure{
        height: 100%;
        aspect-ratio: 1/1;
    }

    .mainFooter>header>figure img{
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
    }

    .footerText nav{
        padding: 20px var(--Space-padding);
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 20px;
        margin: auto;
    }

    .footerText nav ul {
        list-style: none;      
    }

    .footerText nav ul li {
        margin-bottom: 10px;
    } 

    .footerText nav ul li a{
        display: block;
        padding: 10px 0;
        font-size: 16px;
        text-decoration: none;
        color: var(--neutral1);
        transition: color 0.3s ease;
        text-align: center;
        max-width: 150px;
        margin: auto;
    }

     .footerText nav ul li a::after{
        content: " ";
        display: block;
        border-radius: 12px;
        width: 0;    
        height: 5px;
        background-color: var(--CTA);
        transition: width 0.3s ease;
     }

    .footerText nav ul li a:hover::after{
        width: 100%;
    }  

    .mainFooter_label{
        text-align:center;
        padding: 20px 0;
    }

    /*Estilos para el banner de conscentimiento */

/* ESTILOS PARA DISPOSITIVOS MOVILES */
@media (max-width: 768px) {

:root{
    --Space-padding: 15px;
    --short-padding: 10px;
}
    /* Estilo para el mainNav */
.mainNav {
    top: auto;
    bottom: 0;
    padding: 0;
}

.mainNav ul{
    position: absolute;
    bottom: 80px;
    flex-direction: column;
    background: var(--mainColor);
    height: auto;
    width: 100%;
    gap: 0;    
    left: 100%;
    transition: margin-left 0.3s ease;
    border: solid 2px var(--neutral2);
    border-bottom: none;
}

.mainNav ul li{
    width: 100%;
    text-align: center;
    border-bottom: solid 2px #fff;        
}

.mainNav ul li::after{
    display: none;
}

.mainNav ul li a{
    height: 100%;
    width: 100%;
    padding: 20px 0;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.mainNav ul li:hover  >  a{
    background-color: var(--CTA);
    color: #fff;
}   

#btn_menu{
    height: 100%;
    aspect-ratio: 1/1;;
    display: flex;
    gap: 5px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 5px;
    transition: background-color 0.3s ease;
}

#btn_menu:hover{
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.2);
}

#btn_menu img{
    width: 100%;
    object-fit: contain;
    object-position: center;
    height: calc(100% - 40px);
}

.barra_menu{
    height: 7px;
    border-radius: 12px;
    width: 80%;
    background-color: #fff;
}

.btn_menu_active{
    margin-left: -100%;
}

.textBox,
.textBox2,
.quote  p,
.grid_projects{
    font-size: 1.3rem;
}

.mainFooter{
    padding-bottom: 120px;
}

.mainFooter>header>figure{
    margin: auto;

}

.footerText li {
    text-align: center;
    width: 100%;
}

   .footerText li:hover a{
    color: var(--CTA);
}

.footerText nav ul li a{
    padding: 10px 0;
    max-width: 100%;
}

 .footerText nav ul li a::after{
    display: none;
 }
}