/* Configuracion General */

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    font-family: "Raleway", serif;
    font-optical-sizing: auto;
    
    font-style: normal;
}

body{
    overflow-x: hidden;
}

/* --------- Main -------- */

.hero_section{
    margin-top: 77px;
    width: 100%;
    min-height: fit-content;
    height: 100vh;
    background-image: url("../source/img/bkg.png");
    background-position: center;
    background-size: cover;
    border-radius: 0 0 50px 50px;
    box-shadow: 0px 5px 70px 15px rgba(0,0,0,1);
    color: #f0f0f0;

    display: flex;
  
    align-items: center;
    justify-content: space-between;

}

.texto_hero{
    width: 70%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.hero_section .texto_hero h2{
    font-size: 5em;
    font-weight: 500;
    margin-bottom: 30px;
    padding: 0 7%;
    color: #0e0e0e;
    padding-bottom: 20px;
    border-bottom: #0e0e0e 2px solid;
}

.hero_section .texto_hero p{
   font-size: 1.5em;
   font-weight: 300;
   width: 60%;
   text-align: center;
   margin-bottom: 15px;
   color: #0e0e0e;
}

.img_hero{
    height: 100%;
}

.img_hero img{
    height: 100%;
    border-radius: 0 0 50px 0;
}

/* Seccion 1 */
.seccion_1_hero{
    width: 100%;
    
}

.seccion_1_hero h1{
    width: 90%;
    padding-bottom: 30px;
    margin:80px auto 0;
    font-size: 4em;
    font-weight: 400;
    text-align: center;
    border-bottom: 5px solid #f4b10e;
}


/*==================== seccion cards idea 2 =========================== */
 
.seccion_1_hero .seccion_2{
    padding: 5%;
    margin-top: 200px;
    color: #f0f0f0;

    background-color: #0e0e0e;
    background-image: url("../source/img/c837a6_d11c6c437c0f4feb9de8591b42ead168~mv2.png");
    background-position: center;
    box-shadow: 0px 0px 53px 7px rgba(0,0,0,1);
}

.seccion_2 .seccion_3_conteiner{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}


.seccion_2 div h3{
    font-size: 4em;
    font-weight: 300;
    margin-bottom: 60px;
    color: rgb(244, 177, 14);
    text-align: center;
}

.grid_container{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(33vh, 1fr));
    grid-template-rows: repeat(2, auto);
    gap: 30px;
    width: 80%;
    max-width: 141vh;
    justify-items: center;
    margin-bottom: 50px;
    
}

.grid_container div{
   
    
    height: 33vh;
    width: 33vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    
    justify-content: center;

    transition: 0.7s;
    box-shadow: 0px 0px 55px -5px rgba(0,0,0,0.75);
    
    box-shadow: inset 0px 0px 100px -50px rgba(255, 255, 255, 0.75);
    border-radius: 20px;
    border: rgba(240, 240, 240,0.5) 2px solid;

    position: relative; /* Necesario para el posicionamiento absoluto del <p> */
    overflow: hidden; /* Evita que el texto sobresalga */

    min-height: fit-content;
    
}

.grid_container div:hover{
   transform: scale(1.05) !important;
   background-color: rgba(0, 0, 0,0.7);
   justify-content: center;
   border: rgba(240, 240, 240, 0.185) 2px solid;
}


.grid_container div:hover img{
    filter: invert(1);
    transition: opacity 0.3s ease-in-out;
    display: none;
    
}

.grid_container div p {
    transition: opacity 0.3s ease-in-out;
    font-size: 1.5em;
    
}

.grid_container img{
    width: 80px;
    padding:15px;
    
    filter: invert(68%) sepia(90%) saturate(386%) hue-rotate(0deg) brightness(100%) contrast(80%);
}

.grid_container p{
    width: 70%;
    text-align: center;
   
}

.idea_2{
    width: 90vw;
    margin: 50px auto;
    height: 160vh;
    display: flex;
    flex-direction: column;
}

.idea_2_1{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50%;
    
}

.idea_2_1 div{
    width: 45%;
    height: 100%;
    display: flex;
    flex-direction: column;
    color: #f0f0f0;
    background-color: #0e0e0e;
    align-items: center;
    justify-content: center;

    box-shadow: 0px 0px 30px 5px rgba(0,0,0,0.75);


}

.idea_2_1 h2{
    font-size: 3em;
    font-weight: 300;
    margin-bottom: 30px;
    
}

.idea_2_1 p{
    width: 60%;
    font-size: 1.2em;
    text-align: justify;
}

.idea_2_1 span{
    width: 35%;
    height: 35vw;

    margin-left: -6%;

    box-shadow: 0px 0px 55px -5px rgba(0,0,0,0.75);
}

.idea_2_1 span img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.idea_2_2{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50%;
    
   
    margin-top: 50px;
    
    
}

.idea_2_2 div{
    position: relative;
    z-index: 1;
    width: 45%;
    height: 100%;
    display: flex;
    flex-direction: column;
    color: #0e0e0e;
    background-color: #f4b10e;
    align-items: center;
    justify-content: center;
    

    box-shadow: 0px 0px 30px 5px rgba(0,0,0,0.75);
}


.idea_2_2 h2{
    font-size: 3em;
    font-weight: 300;
    margin-bottom: 30px;
}

.idea_2_2 p{
    width: 60%;
    font-size: 1.2em;
    text-align: justify;
}

.idea_2_2 span{
    position: relative;
    z-index: 2;
    width: 35%;
    height: 35vw;

    left: 6%;

    box-shadow: 0px 0px 55px -5px rgba(0,0,0,0.75);
}

.idea_2_2 span img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* ======== MEDIAQUERYS ==============*/ 

@media (max-width: 1600px) {

    .hero_section .texto_hero h2 {
        font-size: 3em;
    }

    .hero_section .texto_hero p {
        font-size: 1.3em;
    }
}

@media (max-width: 1300px) {

    .hero_section .texto_hero h2 {
        font-size: 2em;
    }

    .hero_section .texto_hero p {
        font-size: 1.1em;
    }
}

@media (max-width: 1050px) {

    .hero_section .texto_hero h2 {
        font-size: 3em;
    }

    .hero_section .texto_hero p {
        font-size: 1.3em;
        font-weight: 400;
    }

    .img_hero img {
        height: 0%;
    }

    .hero_section{
        justify-content: center;
    }

    .texto_hero{
        width: 90%;
    }

    .hero_section .texto_hero p {
        width: 100%;
    }
}

@media (max-width: 500px) {

    .hero_section .texto_hero h2 {
        font-size: 2em;
    }

    .hero_section .texto_hero p {
        font-size: 1.1em;
    }
}

@media (max-width: 370px) {

    .hero_section .texto_hero h2 {
        font-size: 1.8em;
    }

    .hero_section .texto_hero p {
        font-size: 1em;
        
    }
}

@media (max-width: 300px) {

    .hero_section .texto_hero h2 {
        font-size: 1.5em;
    }

    .hero_section .texto_hero p {
        font-size: 1em;
    }
}

@media (max-width: 1600px) {

    .idea_2_1 div, .idea_2_2 div {
        height: 45vw;
    }

    .idea_2_2, .idea_2_1{
        height: auto;
    }

    .idea_2{
        height: auto;
    }


}

@media (max-width: 1430px) {

    .idea_2 h2{
        font-size: 2em;
    }

    .idea_2 p{
        font-size: 1em;
    }
}

@media (max-width: 1330px) {

    .seccion_1_hero h1{
        font-size: 2.5em;
    }
    
}

@media (max-width: 1000px) {

    .idea_2 h2{
        font-size: 1.5em;
    }

    .idea_2 p{
        font-size: 0.8em;
    }
}

@media (max-width: 780px) {

    .idea_2 h2{
        font-size: 1.3em;
    }

    .idea_2 p{
        font-size: 0.7em;
    }
}

@media (max-width: 690px) {

    .idea_2_2, .idea_2_1{

        overflow: hidden;
        padding: 40px 20px;
    }
    .idea_2_1 div, .idea_2_2 div{
        width: 90%;
        height: auto;
        padding: 30px;
        
    }

    .idea_2 span {
        display: none;
    }

    .idea_2 p{
        text-align: center;
        width: 90%;
    }
}


@media (orientation: portrait) {
    .hero_section .texto_hero h2 {
        font-size: 3em;
    }
    
    .hero_section .texto_hero p {
        font-size: 1.3em;
        font-weight: 400;
    }
    
    .img_hero img {
        height: 0%;
    }
    
    .hero_section{
        justify-content: center;
        height: 90vh;
    }
    
    .texto_hero{
        width: 90%;
    }
    
    .hero_section .texto_hero p {
        width: 100%;
    }
}


