:root{

    --blanco: #ffffff;
    --oscuro: #212121;
    --primario: #ffc107;
    --secundario: #0097A7;
    --gris: #757575;
    --grisclaro: #dfe9f3;
    
}

html{
    font-size: 62.5%;
    box-sizing: border-box;
    scroll-snap-type: y mandatory;


}

  
*, *::before, *::after{

    box-sizing: inherit;
}

body{

    font-size: 1.6rem; /* 1rem = 10px*/
    font-family: 'Titillium Web', sans-serif;
    background-image: linear-gradient(to top, var(--grisclaro) 0%, var(--blanco) 100%   );
}

h1{

    
    font-size: 4.8rem;
    text-transform: uppercase;
}
h2{
    font-size: 2.8rem;
}

h3{

    font-size: 1.8rem;    
}


h1,h2,h3{
    text-align: center;

}
h1 span{
    font-size: 2.8rem;
    text-transform: capitalize;
}


.sombra{

    -webkit-box-shadow: 9px 10px 14px -3px rgba(53,54,61,1);
    -moz-box-shadow: 9px 10px 14px -3px rgba(53,54,61,1);
    box-shadow: 9px 10px 14px -3px rgba(53,54,61,1);
    /* background-color: var(--blanco); */
    background-image: linear-gradient(to top, var(--gris) 0%, var(--blanco) 70%   );
    padding: 2rem;
    border-radius: 2rem;
}
.header{
    background-color: rgba(0, 0, 0,0.4);

}

.header_Content{
    
    color: var(--blanco);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: 10rem;
    margin-right: 3rem;
    color: #E1306C;
   
}
.header_Content a{
    text-decoration: none;
    color: #E1306C;
}
.header_Content a h4:hover{
   transform: scale(1.3);
}

@media (max-width: 480px) {
    .header_Content{

        flex-direction: column;
        margin-left: 2rem;
        margin-right: 2rem;
        margin-top: 3rem;
        padding-top: 3rem;
        padding-bottom: 3rem;
        justify-content: center;
        align-items: center;
        font-size: 1.5rem;
        color: #E1306C;

    } 


    
}


.content_contact{

    display: flex;
    gap: 5rem;
    color: #E1306C;
}

@media (max-width: 480px) {
    .content_contact{

        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 1.5rem;
        gap: 0.1rem;

    } 


    
}

.info{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: grab;
}
.info:hover{
    transform: translate(1rem);
}
.contact_ico{
    border-radius: 50%;
    background-color: var(--primario);
    padding: 1rem;
}



.ico-redes{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.icon-fa{
    background-color: #3b5998;
    border-radius: 30%;
    padding: 0.5rem;
}
.icon-fa:hover{
    transform: rotate(-45deg);
    transition-duration: 300ms;
}

.icon-tw{
    background-color:#00acee ;
    border-radius: 30%;
    padding: 0.5rem;
}
.icon-tw:hover{
    transform: rotate(-45deg);
    transition-duration: 300ms;
}
.icon-ins{
    background-color:#E1306C;
    border-radius: 30%;
    padding: 0.5rem;
}
.icon-ins:hover{
    transform: rotate(-45deg);
    transition-duration: 300ms;
}






.nav-bg{

    background-color: var(--secundario);
   
    

}



.navegacion-pr {

    
    display: flex;
    flex-direction: column;
    align-items: center;
    
   
}
@media (min-width: 480px) { 
     .navegacion-pr{

        flex-direction: row;
        justify-content: space-between;
     }
 }

.navegacion-pr a{
    padding: 2rem;
    color: var(--blanco);
    text-decoration: none;
    font-size: 2rem;
    font-weight: bold;
}

.dropdown-item{
    padding: 0.5rem !important;
}

.navegacion-pr a:hover{

    background-color: var(--primario);
    color: var(--oscuro);
}

@media (min-width: 480px) { 
     
 }

.hero{

    background-image: url(../mg/lg4.webp);
    background-repeat: no-repeat;
    background-size: cover;
    height: 450px;
    position: relative;
    margin-bottom: 2rem;
 }

 .contenido-hero{

    position: absolute;
    background-color: rgb(0 0 0 / 60%);
    color: var(--blanco);
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

 }

 .contenido-hero a {
    font-size: 2rem;
    text-decoration: none;
    color: #ffffff;
 }

.contenedor{

    max-width: 120rem;
   margin: 0 auto;
}

.boton{

    background-color: var(--secundario);
    color: var(--blanco);
    padding: 1rem 3rem ;
    margin-top: 3rem;
    font-size: 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 10rem;
    width:  70%;
    text-align: center;
    border: none;
}


@media (min-width: 480px) {
    .boton{

        width: auto;
    } 
    
 }

 .boton:hover{

    cursor: pointer;
 }


.w-sm-100{

    width: 100%;
}

@media (min-width: 480px) { 
     .w-sm-100{
        width: auto;
     }
 }

.alinear-boton{
    justify-content: flex-end;
}

.flex{

    display: flex;
}
@media (min-width: 768px) { 
    .servicios{

        display: grid;
        grid-template-columns: 1fr 1fr 1fr; 
     }
 }

 .servicio{

    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 3rem;
    font-size: 1.6rem;
 }
 .servicio h3{

    color: var(--secundario);
    
 }


 .servicio p {

    line-height: 2;
    text-align: center;
    
 }

 .servicio .iconos{

    height: 15rem;
    width: 15rem;
    background-color: var(--primario);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;

 }

 .misProyectos{
    
    display: flex;
    flex-direction: column;
    
    
 }

 .misProyectos p{
    font-size: 2rem;
   margin-left: 2rem;
   margin-right: 3rem;
   font-size-adjust: unset;
 }
 @media (min-width: 1180px) { 
    .misProyectos{

        display: grid;
        grid-template-columns: 1fr 1fr;
    
     }


 }


 #py1{
    background-image: url(../mg/pgcctv.jpg);
 }


 #py2{
    background-image: url(../mg/pgws.jpg);
    
    
    
 }
 #py3{
    background-image: url(../mg/pgdp.jpg);
 }
 

#py4{
   background-image: url(../mg/pgme.webp);
}

#py1,#py2,#py3,#py4{
    background-position: center;
    background-size: cover;
}
@media (max-width: 768px) { 
    #py1,#py2,#py3,#py4{
        max-width: 75rem;
    }
   
}

@media (max-width: 480px) { 
    #py1,#py2,#py3,#py4{
        width: 40rem;
        background-size: contain;
        height: 25rem;
    }
   
}


 .proyecto{
    height: 50rem;
    width: 80rem;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    overflow: hidden;
 }



 @media (min-width: 1180px) { 
   
    .proyecto{
       height: 30rem;
       width: 55rem;
    }
    
     .proyecto:hover{
    transform: scale(1.1);
 }
}


 .formulario{

    background-color: var(--gris);
    width: min(70rem, 100% );
    margin: 0 auto;
    padding: 2rem;
    border-radius: 2rem;

 }
 
 .formulario fieldset {
     border: none;
 }

 .formulario legend{
     text-align: center;
     font-size: 1.8rem;
     text-transform: capitalize;
     font-weight: 700;
     margin-bottom: 2rem;
     color: var(--primario)

 }

 @media (min-width: 480px) { 
      
    .contenedor-campos{

        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto 20rem;
        column-gap: 1rem;
     }
  }

  .campos:nth-child(3), 
  .campos:nth-child(4){

    grid-column: 1 / 3  ;

  }
 

 .campos{

    margin-bottom: 1rem;
    font-size: 1.8rem;

 }

 .campos label{

    color: var(--blanco);
    font-weight: bold;
    margin-bottom: .5rem;
    display: block;

 }

 .contenedor-campos input, textarea  {

    width: 100%;
    border: none;
    padding: 1.5rem;
    border-radius: 1rem;
 }

 .campos textarea{

    height: 20rem;
 }

 .footer{

    text-align: center  ;
    padding: 3rem;
    font-size: 2.5rem;
 }

 /* pagina sobre mi */

 .fst{
    font-size: 2rem;
 }

 @media (min-width: 1280px) { 
      
    .fst{
        font-size: 2.4rem;
     }
  }

  @media (max-width: 1080px) { 
      
    .fst{
        font-size: 1.5rem;
     }
  }


   /* pagina servicios */

   .card-body{
    min-height: 250px !important;
   }

   .card img:hover{
    
    transition-property: transform;
    transform: scale(1.2);
    transition: 0.3ms;
   }