@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap%27');

:root{
    --bg-dark:#0D0D0D;
    --color-sp:#1B4E9B;
    --bg-light-gray:#F4F4F4;
    --bg-str-gray:#E8E8E8;
    --section-padding-y: 1.8rem;
    --width-max:1280px;
    --font-size-small: 12px;
    --font-size-medium: 15px;
    --font-titles-small: 20px;
    --font-titles-medium: 24px;
    --blue: #1B4E9B;
    --blue-claro: #1A75B9;
    --shadow-1: 0 1px 2px 0 rgba(105, 103, 103, 0.3), 0 1px 2px 0 rgba(116, 112, 112, 0.3);
}
html{
    scroll-behavior: smooth;
    scroll-padding: var(--scroll-padding, 67px);
    overflow-x: hidden;

}
body{
    
    font-family: 'Poppins', sans-serif;
    font-size: var(--font-size-small);
    overflow-x: hidden;
    padding: 0;
    margin: 0;
}
/* 
--------------------------------------------------------------------------------------- 
-----------------------inicio----------------------------------------------------------
--------------------------------------------------------------------------------------- 

*/

#INICIO{
    color: white;
    display: flex;
    flex-direction: column;
    
}


.header{
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    display:flex;
    flex-direction: column;
    z-index: 3;
    transition: background-color linear .3s;
    align-items: center;
    background-color: white;

}
.header__ul{
    /* display: none;  */
    
} 
.header__li{
    list-style: none;
}
.header__img{
} 
.header__nav{
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 2% 4.5vw;
    box-sizing: border-box;
    max-width: var(--width-max);
    width: 100%;
}
.nav__logo{
    height:4rem;
  
}



.nav__burguer{
    display: flex;
    flex-direction: column;
    width: 3rem;
    height: 3.2rem;
    justify-content: center;
    z-index: 5;
    color: black;
}
.nav__vector{
    height: .3rem;
    width: 2rem;
    background-color: rgb(0, 0, 0);
}
.nav__vector--1{
    height: .3rem;
    width: 3rem;
    margin-bottom: .5rem;
}
.nav__vector--2{

}
.nav__vector--3{
    height: .3rem;
    width: 3rem;
    margin-top: .5rem;

}

.nav__ul{
    position: absolute;
    left: 110%;
    display: flex;
    flex-direction: column;
    align-items:flex-start;
    /* margin: 1rem 0 -20px 0; */
    animation: show alternate .3s;
    transition: all .5s;
    padding: 6rem 0 0 0;
    margin: 0;
    background-color: var(--bg-light-gray);
    height: 100vh;
    width: 100%;
    box-shadow: var(--bg-dark);
    font-size: 18px;
}
.nav__li{
    list-style: none;
    /* .4rem clamp(.7rem, 3vw, 1.2rem) */
   
    /* max-width: 100px; */
}


/*hover esp*/
.nav__li--small{
    margin-bottom: 1rem;
}

.nav__a{
    padding: 0 1rem;
    color: var(--blue);
    text-decoration: none;
    transition:  color .3s;
    font-weight: 500;
}
/* .nav__a:hover{
    color: var(--blue-claro);
} */
.nav__a:hover{
    color: var(--blue-claro);
}
.nav__li--esp{
  
}
.nav__li--esp:hover::before{
    content: unset;

}

.nav__li--esp:hover{
    transform: scale(1.05);
}


.slide__content{
    position: relative;
    top: 50%
}

.slide__h2{
    text-align: left;
    font-size: var(--font-titles-small);
    font-weight:500;
    max-width: 60%;
}
.slide__p{

}

/* 
--------------------------------------------------------------------------------------- 
--------------------proyectos----------------------------------------------------------
--------------------------------------------------------------------------------------- 

*/


#PROYECTOS{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--section-padding-y) 0;
}
.proyectos__h2{
    font-size: var(--font-titles-medium);
}
.proyectos__span{
    color: var(--color-sp);
}
.proyectos__nav{
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.proyectos__ul{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 1rem 0 .5rem 0;
    padding: 0;
    max-width: 768px;
}
.proyectos__li{
    border-radius: 1rem;
    border: solid .1rem var(--color-sp);
    list-style: none;
    padding: .2rem .8rem;
    margin: .3rem .6rem;
    cursor: pointer;
    transition: all .3s;
    font-weight: 500;
}
.proyectos__li:hover{
    background-color: var(--color-sp);
    color: white;
}
.proyectos__p{
    margin-bottom: 2.5rem;
}
.proyectos__display{
    max-width: var(--width-max);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.proyectos__col{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 24rem));
    grid-auto-rows: 29rem;
    justify-items: center;
    justify-content: center;
    gap: .8rem;
    animation: show .3s;

}
.proyectos__figure{
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 2rem;
    background: linear-gradient(90deg, var(--blue) 0%, var(--blue-claro) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.proyectos__figure--ejecucion::before{
    content: "En ejecución";
    background-color: orange;
    color: white;
    font-weight: 600;
    position: absolute;
    top: 15px;
    right: 15px;
    display: flex;
    padding: .5rem .5rem;
    border-radius: .3rem;
    box-shadow: var(--shadow-1);
}

.proyectos__img{

    width: 100%;
    height: calc( 100% * 0.5);
    object-fit: cover;
    display: block;
}
.proyectos__p{
   
    width: 80%;
    /* background: linear-gradient(to bottom, blue, white); */
    display: flex;
    justify-self:flex-end;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    margin-top: 1rem 0 0 0;
    color: white;
    border-color: white;
    height: 100px;
    overflow-y: hidden;
}
.proyectos__button{
    outline: none;
    background: none;
    border-width: .2rem;
    border-style: solid;
    border-color: white;
    color: white;
    padding: .5rem 1.5rem;
    text-decoration: none;
    transition: all.3s;
    margin-bottom: 2rem;
}
.proyectos__button:hover{
    border-color: orange;
    background-color: orange;

}
/* 
--------------------------------------------------------------------------------------- 
------------------nosotros-------------------------------------------------------------
--------------------------------------------------------------------------------------- 
*/
#NOSOTROS{

    display: flex;
    padding: var(--section-padding-y) 0;
    flex-direction: column;
    align-items: center;
}
.nosotros__row{
    display: grid;
    max-width: var(--width-max);
    grid-template-columns: 1fr 1.3fr;
    gap: 0rem;
    color: var(--blue);
}
.nosotros__h2{
    grid-column: 1/3;
    padding-left: 5%;
    font-size: calc(1.2 *var(--font-titles-medium))
}
.nosotros__Grupo{
    padding: 0 8%;
    grid-column: 1/3;

}

.nosotros__p{
    text-align: justify;
    color: #0D0D0D;
}
.nosotros__span{
    font-size: calc(1.5 *var(--font-titles-medium))

}
.nosotros__aside{
    grid-column: 1/3;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;

}
.nosotros__img{
    width: 80%;
    display: block;
    margin: 0 auto;
}
.nosotros__cert{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cert__h2{
    text-align: center;
    padding: 0;
}
.cert__img{
    display: flex;
    max-width: 18rem;

}

.nosotros__row--vision{
    margin-top:calc(1.5 * var(--section-padding-y));
    grid-template-columns: 1fr 1fr;
    padding: 0 3vw;
}
.nosotros__grupo--vision{
    grid-column: 1/3;
    background: linear-gradient(90deg, var(--blue) 0%, var(--blue-claro) 100%);
    border-radius: 1rem;
    color: white;
    padding: 1.5rem clamp(.5rem, 5vw, 5rem);
}
.nosotros__mision{

}
.mision__h2{
    font-size: calc(1.2 *var(--font-titles-medium))
}
.mision__h3{
    font-size: var(--font-titles-medium);
}
.mision__p{
    text-align: justify;    
}
.nosotros__vision{

}
.vision__h2{

}
.vision__h2{
    font-size: calc(1.2 *var(--font-titles-medium));
    text-align: right;
    margin-top: 3rem;
}
.vision__h3{
    text-align: right;
    font-size: var(--font-titles-medium);
}
.vision__p{
    text-align: justify;
}
.vision__img{
    max-width: 225px;
}


@keyframes show {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
/* 
--------------------------------------------------------------------------------------- 
------------------servicios----------------------------------------------------------
--------------------------------------------------------------------------------------- 

*/

#SERVICIOS{

    display: flex;
    padding-top: var(--section-padding-y);
    flex-direction: column;
    align-items: center;
    overflow-x: hidden;
    width: 100%;
    color: var(--blue);
}
.servicios__main{
    margin-bottom: 6rem;
    max-width:1280px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;

}
.servicios__h2{
    box-sizing: border-box;
    font-size: var(--font-titles-medium);
    text-align: center;
    width: 100%;
    margin-bottom: var(--section-padding-y);
    padding-bottom: 2rem;
    color: #0D0D0D;
}
.servicios__row{
    box-sizing:border-box;
    width: 100%;
    justify-content: center;
    display: grid;
    gap: 2.2rem;
    grid-template-columns: repeat(auto-fill, minmax(260px, 500px));
    padding: 0 3% 0 3%;

}
.servicios__div{
    box-sizing: border-box;
    padding: 2.5rem 2.2rem;
    box-shadow: var(--shadow-1);
    transform: scale(var(--escala, 1));
    transition: transform 0.3s;
    background-color: #1B4E9B;
}

.servicios__div:hover{
    --escala: 1.1;
    cursor:pointer;
}

.servicios__desc{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.servicios__img{
    height:60px;
    color: red;
}
.servicios__h3{
    color: white;
    font-weight: 400;
}
.servicios__p{
    color: #0D0D0D !important;
}
.servicios__carrousel{
    width: 100%;
    max-width: var(--width-max);
    /* padding: 1rem 0;
    margin: auto;
    display: flex;
    width: calc(300px * 10);
    box-shadow: inset var(--shadow-1);
    overflow: hidden; */
}
.servicios__slide{
    /* display: flex;
    flex-direction: column;
    animation: scroll 10s linear infinite;
    -webkit-animation: scroll 10s linear infinite;
    width: 300px;
    align-items: center; */
}

@keyframes scroll {
    0%{
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    100%{
        -webkit-transform: translateX(calc(-300px * 5));
        transform: translateX(calc(-300px * 5));
    }
}
.servicios__footer{
    width: 100%;
    height: clamp(12rem, 50vh, 25rem);
    background-image:linear-gradient(
        to right,
        rgba(14, 13, 13, 0.3),
        rgba(14, 13, 13, 0.3)
       ), url('../images/Maquinaria2.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size:cover;
    display: flex;
    justify-content: center;
    text-align: center;
}
.servicios__p--footer{
    align-self: flex-end;
    color: white;
    max-width: 80%;
}
.modal::backdrop{
    background-color: black;
    opacity: .3;
}
.modal{
    border: 0;
    box-shadow: var(--shadow-1);
    justify-content: center;
    align-items: center;
}
.modal__container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.modal__container h2{
    display: flex;
}
.modal__close{
    border: none;
    background-color: var(--color-sp);
    border-radius: 1rem;
    transition: transform .3s;
    text-align: center;
    padding: .5rem .8rem;
    color: white;
}


/*
--------------------------------------------------------------------------------------- 
------------------contacto-------------------------------------------------------------
--------------------------------------------------------------------------------------- 
*/
#CONTACTO{

    background-color: var(--bg-light-gray);
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contacto__img{
    position: relative;
   height: 100%;
}

.intento{
    color: white;
}

.texto_contacto{
    position: absolute;
    top: 5px;
    padding-left:250px;
    color:White;
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-content: center;
    align-items: center;
    
}

.texto_contacto h3{
    font-size: 1rem;
    
}

.texto_contacto h4{
    font-size: .8rem;
    font-weight: 400;
}

.textop{
    text-align: center;
    font-size: 18px;
    padding: 0.5rem 1rem;
}

.pofavo{
    color: white;
}
.contacto__row{
    display: flex;
    width: 100%;
    max-width: calc(var(--width-max) * 1.5 );

    flex-direction: column;
    align-items: center;
    background-color: var(--bg-light-gray);
    color: black;
}
.contacto__h2{
    font-size: var(--font-titles-medium);
    text-align: center;
    margin: 0 0 1.5rem 0;
    grid-column: 1/3;

}
.contacto__span{
    color: var(--color-sp);
}
.contacto__form{
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 90%;
    gap: .8rem;
    padding: var(--section-padding-y) 0;
}
.form__div{ 
    display: flex;
    flex-direction: column;
    grid-column: 1/3;
    justify-content: flex-end;
}
.form__div--first{
    grid-column: 1/3;

}
.form__div--second{
    grid-column: 1/3;
}
.form__label{
    margin-bottom: .5rem;
}
.form__input{   
    box-sizing: border-box;

    background-color: var(--bg-str-gray);
    padding: 1.2rem 1rem ;
    border: none;
    border-radius: 1rem;
    height: 3rem;
}
.form__input:focus{
    outline: none;
}
.form__textarea{
    height: 70px;
    /* box-sizing: border-box; */
    background-color: var(--bg-str-gray);
    padding: 1.2rem 1rem ;
    border: none;
    border-radius: 1rem;

}
.form__textarea:focus{
    outline: none;
}
.form__submit{
    justify-self: center;
    border: none;
    background-color: var(--blue);
    color: white;
    font-weight: bold;
    grid-column: 1/3;
    width: 50%;
    height: 2rem;
    border-radius: 1rem;
    transition: all .3s;
    height: 2.5rem;
    cursor: pointer;
}
.form__submit:hover{
    transform: scale(1.04, 1.1);
    background-color: var(--bg-dark);
}
.contacto__footer{
    padding-top: var(--section-padding-y);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    background-color: var(--blue);
}
.contacto__ul--logos{
    display: flex;
    flex-direction: column;
    padding: 0;
    align-items: center;
}
.contacto__li--logos{
    list-style: none;
    margin: 0;
    padding-bottom: 1rem;
}
.contacto__img--logos{
    height: 3rem;

}

.contacto__ul--links{
    display: flex;
    flex-direction: column;
    padding: 0;
    align-items: center;
}
.contacto__li{
    margin-top: -1rem;
    padding-bottom: 2rem;
    list-style: none;
}
.contacto__a{
    color: white;
    text-decoration: none;
}
.contacto__h4{
    padding-bottom: var(--section-padding-y);
    font-weight: normal;
    text-align: center;
    margin:0;
    width: 100%;
    background-color: var(--blue);
   
    
    
}


/* 
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
------------------CLASES ESP---------------------------------------------------------
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
*/
.servan{
    height: 2.5rem;
}

.servan1{
    height: 2.3rem;
}
.espDisplay{
    display: flex;
}
.noDisplay{
    display: none;
}
.preventDisplay{
    display: none;
}
.nosotros__li--active{
    background-color: var(--color-sp);
}
.proyectos__li--active{
    background-color: var(--color-sp);
    color: white;
}
.header__nav--scroll{
    background-color: white;
    box-shadow: var(--shadow-1);
}
.nav__vector--scroll{
    background-color: var(--bg-dark);
}

/* 
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
------------------BREAKPOINTS---------------------------------------------------------
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
*/


/*Guerra*/
@media (min-width: 768px) {
    :root{
        --font-size-small: 16.5px;
        --font-size-medium: 18px;
        --font-titles-small: 22px;
        --font-titles-medium: 26px;
    }
    .slide__h2{
        font-size: calc( 1.3 * var(--font-titles-medium));
        max-width: 400px;
    }
    .form__div{ 
        display: flex;
        flex-direction: column;
        grid-column: 1/3;
        justify-content: flex-end;
    }
    .form__div--first{
        grid-column: 1/2;
    
    }
    .form__div--second{
        grid-column: 2/3;
    }
    .contacto__form{
        padding: 2rem 2%;
    }

  
}

@media (min-width: 1024px) {

/*
--------------------------------------------------------------------------------------- 
------------------INICIO---------------------------------------------------------------
--------------------------------------------------------------------------------------- 
*/
html{
    scroll-behavior: smooth;
    scroll-padding: var(--scroll-padding, 90px);  
}




.header{
    position: fixed;
    top: 0;
    left: 0;
}

.header__nav{
    padding: clamp(.5rem,1.5vw ,1rem) 4.5vw;

}
.header__ul{
 
}
.header__li{
}
.header__img{
}
.servan{
}

.header__nav{
}
.nav__ul{
  
}
.nav__ul--1024{

}
.nav__li{
    display: flex;
    align-items: center;
}

.main_slide{
    padding: 0 15vw;
}
.slide__content{
}
.slide__h3{
    font-size: calc(var(--font-titles-medium) * 1.3);

}
.slide__p{
    font-size: var(--font-titles-small);

}

/*
--------------------------------------------------------------------------------------- 
------------------Nosotros-------------------------------------------------------------
--------------------------------------------------------------------------------------- 
*/



.nosotros__nav{
    /* align-self: flex-start; */
}
.nosotros__ul{
    margin: 0;
}
.nosotros__img{

}
.nosotros__row{

}
.nosotros__display{

/* 
    display: flex;
    flex-direction: column;
    justify-content:space-between; */   
}
.nosotros__p{
    /* justify-self: flex-start; */

}
.nosotros__Grupo{
    grid-column: 1/2;

}
.nosotros__grupo--vision{
    grid-column: 1/2;
}
.nosotros__aside{
    grid-column: 2/3;
}

/*
--------------------------------------------------------------------------------------- 
------------------Servicios------------------------------------------------------------
--------------------------------------------------------------------------------------- 
*/
.servicios__figure{
   
}
.servicios__description{
  
}

/*
--------------------------------------------------------------------------------------- 
------------------contacto-------------------------------------------------------------
--------------------------------------------------------------------------------------- 
*/



.contacto__row{
    flex-direction: row;
    height: 100%;
    width: 100%;
    
}
.contacto__form{
    box-sizing: border-box;
    width: 50%;
    

}
.contacto__h2{
    text-align: left;

}
.contacto__img{
    position: relative;
    height: 100%;
    width: 100%;
    
    
}
.contacto__ul--links{
    flex-direction: row;
}
.contacto__li{
    padding: 2rem 2rem;
}
.contacto__ul--logos{
    flex-direction: row;
    align-items: center;
}
.contacto__li--logos{
    padding: 0 2vw;
}

/*
--------------------------------------------------------------------------------------- 
------------------CAMBIO CLASES ESP----------------------------------------------------
--------------------------------------------------------------------------------------- 
*/

/* .header__nav--scroll{
    box-shadow: unset;
    background-color: unset;
    border-radius: 0;
} */
.nav__ul--scroll{
    width: 100%;
    /* background-color: red; */
}
.espDisplay{
    display: none;
}
.noDisplay{   
    display: flex;
}

.fixed{
    box-sizing: border-box;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    margin-top: 0;
    border-radius: 0;
    justify-content: center;
}
}   


/*SWIPER*/

  .swiper {
    width: 100%;
    height: 100%;
    
  }

  .swiper-slide {
    text-align: center;
    /* Center slide text vertically */
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
  }
  
  .swiper__img{
    display: block;
    width: 100%;
    height:100vh;
    object-fit: cover;
}
  .swiper__message{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items:center;
    padding: 0 14vw;
  }
  .slide__h2{

  }
  .mover{
    left: 50%;
  }

  .swiper-button-next, .swiper-button-prev{
    --swiper-theme-color:white;
    background-color: #1B4E9B;
    --swiper-navigation-size:3rem;
    padding: 0.5rem 0.5rem;
    margin: 0 1rem; 
  }

  .nav__li{
    display: flex;
    align-items: center;
}
.nav__li:hover{
    background-color: var(--blue);
}
.nav__li:hover > .nav__a{
    color: white;
}

/*politica*/

#politica{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem 0;
}

.row{
    max-width: 1280px;
}

.politica__div{
    text-align: start;
    margin: 0 1.5rem;
    font-size:18px;
}

.politica__div0{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
}

.potica__div0__div{
    width: 50%;
    text-align: justify;
}

.politica__div2{
    display: flex;
    
}

figure{
    text-align: center;
    width: 45%;
    
}

.deco{
    text-decoration: none;
    color: black;
}

.contacto__row__1{
    height:100%;
    width: 50%;
    position: relative;
}

.servicios__footer{
    width: 50%;
   height: clamp(0rem, 100vh,32rem);
    background-image:linear-gradient(
        to right,
        rgba(14, 13, 13, 0.3),
        rgba(14, 13, 13, 0.3)
       ), url('../images/Maquinaria2.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size:cover;
    display: flex;
    justify-content: center;
    text-align: center;
}

.servicios__p--footer h3{
    font-weight: 600;
    font-size: 1rem;
}

.servicios__p--footer h4{
    font-weight: 400;
    font-size: 1rem;
}

.servicios__p--footer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    
}


@media (max-width: 1024px){
    .servicios__footer{
        width: 100%;
       height: clamp(0rem, 100vh,32rem);
        background-image:linear-gradient(
            to right,
            rgba(14, 13, 13, 0.3),
            rgba(14, 13, 13, 0.3)
           ), url('../images/Maquinaria2.jpg');
        background-position: center;
        background-repeat: no-repeat;
        background-size:cover;
        display: flex;
        justify-content: center;
        text-align: center;
       
    }
}

@media (max-width: 630px){
    .politica__div{
        text-align: center;
        font-size: 16px;
    }
    .politica__div0{
        display: flex;
        flex-direction: column;
    }
    .potica__div0__div{
        width: 95%;
        padding: 0 0.4rem;
        height: auto;
    }
    .politica__div2{
        display: flex;
        flex-direction: column;
        margin: 0;
        padding: 1rem 1rem;
        justify-content: center;
        align-items: center;
    }

    .nosotros__aside img{
        padding: 1rem 0;
    }

    .servicios__p--footer h3{
        font-size:1rem ;
    }

    .servicios__p--footer h4{
        font-size:.8rem;
    }
}
