p{
    font-family: "Inter", sans-serif;
}
h1, h2, h3, h4{
    font-family: "Montserrat", sans-serif;
}
body{
    margin-top: 9rem;
}
.wrappertop{
    position: fixed;
    top:0;
    left:0;
    right:0;
    z-index:9999;
}

.navbarmio{

    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;

    height: 6rem;
    padding: 0 40px;
    background-color: #FAF8F8;
}

.logo{
    justify-self: start;
}

.logo img{
    height: clamp(15px, 6vw, 40px);
}

.nav-links{
    display: flex;
    gap: 40px;
    text-transform: uppercase;
    list-style: none;
    margin: 0;
    padding: 0;

    justify-self: center;
}

.nav-links a{
    text-decoration: none;
    color: black;
}
li:hover{
    font-weight: 500;
}
.menu-toggle{
    display:none;
    background:none;
    border:none;
    font-size:2.6rem;
    cursor:pointer;
    color:#141319;
}

.top-bar{
    background: white;
    border-bottom: 1px solid #ddd;
    height: 3rem;

    display: flex;
    justify-content: center;
}

.top-bar-content{
    width: min(95%, 1200px);
 
    
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
}

.social{
    display: flex;
    gap: .8rem;
}

.social a,
.contact-item{
    color: #777;
    text-decoration: none;
    font-size: 1.2rem;

    display: flex;
    align-items: center;
    gap: .4rem;

    transition: .2s;
}

.social a:hover,
.contact-item:hover{
    color: #000;
}
.carousel-overlay{
    position: absolute;
    inset: 0;

    /*display: flex;
    justify-content: center;*/
    align-items: center;

    background: rgba(0,0,0,.35);

    z-index: 2;
}
#myCarousel{
    position: relative;
}

.hero-text h1{
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 700;
    margin-bottom: 1rem;

    text-shadow: 0 4px 12px rgba(0,0,0,.4);
}
.hero-text p{
    font-weight: 200;
    font-size: clamp(2rem, 5vw, 2.8rem);
    text-shadow: 0 2px 8px rgba(0,0,0,.4);
}
.hero-btn{
    /*display: inline-block;*/
    position:absolute;
    left:50%;
    bottom:60px;

    transform:translateX(-50%);

    padding: 1rem 4rem;
    background: #FF6F59;
    color: white;

    text-decoration: none;
    font-weight: 600;
    border-radius: 0px;

    transition: .3s;
    
}

.hero-btn:hover{
    background: #d74d38;
    color: white;
    text-decoration: none;
}
.carousel-inner img{
    width: 100%;
    height: 75vh;
    object-fit: cover;
}
.carousel-overlay{
    pointer-events: none;
}

.hero-btn{
    pointer-events: auto;
    
}
.hero-text{
    position:absolute;

    top:45%;
    left:50%;

    transform:translate(-50%,-50%);

    text-align:center;
    color:white;

    width:min(90%,900px);
}
/*--------------------GALERIA PRODUCTOS-------------------*/
div.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.gallery-item a{
    position: relative;
    display: block;
}
.gallery-item span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    color: white;
    background-color: #4A88D9 ;/* Color corporativo */

    padding: .4rem 3rem;
    border-radius: 0;

    font-size: 1.4rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;

    z-index: 2;
}

.gallery-item a::after{
    content: "";

    position: absolute;
    inset: 0;

    background: rgba(0,0,0,.35);

    transition: .3s;
}
.gallery-item:hover img{
    transform: scale(1.05);
}

.gallery-item img{
    display: block;
    width: 100%;
    transition: transform .3s;
}

.gallery-item{
    overflow: hidden;
    width: 38rem;
    margin: .5rem;
}
.gallery-item:hover a::after{
    background: rgba(0,0,0,.15);
}


/*--------------------GALERIA Servicios-------------------*/

div.gallery-serv {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.gallery-item-servicios{
    overflow: hidden;
    width: 28rem;
    margin: .5rem;
}
.gallery-item-servicios a{
    position: relative;
    display: block;
}
.gallery-item-servicios span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    color: white;
    background-color: #4A88D9 ;/* Color corporativo */

    padding: .4rem .3rem;
    border-radius: 0;

    font-size: 1.4rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;

    z-index: 2;
}

.gallery-item-servicios a::after{
    content: "";

    position: absolute;
    inset: 0;

    background: rgba(0,0,0,.50);

    transition: .3s;
}
.gallery-item-servicios:hover img{
    transform: scale(1.05);
    
}

.gallery-item-servicios img{
    display: block;
    width: 100%;
    transition: transform .3s;
}
.gallery-item-servicios:hover a::after{
    background: rgba(0,0,0,.15);
}

/*--------------------GALERIA TRABAJOS REALIZADOS-------------------*/
div.gallery-trab {
  display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:0rem;

    margin-top:2rem;
}
.gallery-item-trab a{
    position: relative;
    display: block;
}

.gallery-item-trab a::after{
    content: "";

    position: absolute;
    inset: 0;

    background: rgba(0,0,0,.35);

    transition: .3s;
}
.gallery-item-trab:hover img{
    transform: scale(1.05);
}

.gallery-item-trab img{
    /*display: block;
    width: 100%;*/
    width:100%;
    height:280px;
    object-fit:cover;

    transition:.4s;
}

.gallery-item-trab{
    overflow: hidden;
    /*width:35.12rem;*/
    margin: 0rem;
}
.gallery-item-trab:hover a::after{
    background: rgba(0,0,0,.15);
}

.Trab{
    padding-bottom: 2.5rem;
}

/*---------------------------------------*/

.primero{
    justify-content: center;
    margin-left: 10rem;
    margin-right: 10rem;
    margin-top: .4rem;
}
h2{
    color: black;
    font-size: 2.8rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}
.servicios{
    padding-top: 2rem;
}

/*---------Boton galería------------------*/
.verGal{
    display: block;
    text-transform: uppercase;
    width: fit-content;
    padding: 1rem 5rem;
    margin: 2rem auto 0;
    background: #4A88D9;
    color: white;
    text-decoration: none;
    border-radius: 0px;
    font-weight: 600;
}
.verGal:hover{
    text-decoration: none;
    background: #286bc2;
    color: #fff
}
/*---------sobre nosotros estilo-----------*/
.about{
    padding: 2rem 0;
    background-color: #FAF8F8;
    
}
.container{
    width:min(90%,1200px);
    margin:auto;
}
.about-content{ /*las dos columnas*/
    padding-top: 2rem;
    display:grid;

    grid-template-columns:1.2fr 1fr;

    gap:4rem;

    align-items:start;
}
.about-text{

    display:flex;

    flex-direction:column;

    gap:2rem;

}

.about-text p{

    font-size:2rem;

    line-height:1.7;

    text-align:justify;

}
.about-gallery{

    display:grid;

    grid-template-columns:1fr 1fr;

    grid-template-rows:auto auto auto;

    gap:1rem;

}
.img-big{

    grid-row:1 / span 2;

    width:100%;
    height:100%;

    object-fit:cover;

}
.about-gallery img{

    width:100%;

    display:block;

    object-fit:cover;

}
.btn-about{
    grid-column:1 / span 2;
    justify-self:center;
    margin-top:1rem;
    background:#4A88D9;

    color:white;

    padding:1rem 4rem;

    border-radius:0px;

    text-decoration:none;

    font-weight:600;

    text-transform:uppercase;

    transition:.3s;

}

.btn-about:hover{
    text-decoration: none;
    background:#286bc2;
    color: #fff;

}
/* ultimo div*/
.fn-e{
    display: grid;
    padding: 10rem;
    
}
.finalizando{
    background-image: url(/img/home/finalDiv.webp);
    background-size: cover;
}
.tx-final{
    font-family: "Inter", sans-serif;
    font-size: 3rem;
    color: #fff;
    font-weight: 200;
    text-align: center;
    padding-bottom: 3rem;
}
.btn-fin{
    justify-self:center;
    margin-top:1rem;
    background:#FF6F59;
    color:white;
    padding:1rem 4rem;
    border-radius:0px;
    text-decoration:none;
    font-weight:600;
    text-transform:uppercase;
    transition:.3s;
}
.btn-fin:hover{
    color: #fff;
    text-decoration: none;
    background: #d74d38;
}

/*FOOTER */
.footer{
    background: #2B2B2B;
    color: white;
    padding: 5rem 0;
}
.footer-content{
    width:min(90%,1200px);

    margin:auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;

    align-items: start;
}
.footer-links h3{
    font-size: 2rem;
    margin-bottom: 2rem;
}

.footer-links ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li{
    margin-bottom: .8rem;
}

.footer-links a{
    color: white;
    text-decoration: none;
    transition: .2s;
}

.footer-links a:hover{
    color: #4A88D9;
}
/* */
.footer-contact{
    text-align: right;
}

.footer-contact h3{
    font-size: 2rem;
    margin-bottom: 2rem;
}

.footer-contact p{
    margin-bottom: 1rem;
    line-height: 1.6;
}

.footer-contact a{
    color: white;
    text-decoration: none;
}

.footer-contact a:hover{
    color: #4A88D9;
}
@media (max-width: 768px){

    .footer-content{
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-contact{
        text-align: center;
    }

}
/*--------------WSP FLOTANTE-----------------*/
.whatsapp-float{
    position: fixed;
    bottom: 30px;
    right: 30px;

    width: 64px;
    height: 64px;

    display: flex;
    justify-content: center;
    align-items: center;

    background: #25D366;
    color: white;

    border-radius: 50%;
    text-decoration: none;

    font-size: 34px;

    box-shadow: 0 8px 25px rgba(0,0,0,.25);

    z-index: 9999;

    transition: .25s ease;
}

.whatsapp-float:hover{
    background: #20ba5a;
    color: white;
    transform: scale(1.08);
    text-decoration: none;
}
.whatsapp-float{
    animation: pulse 2.5s infinite;
}

@keyframes pulse{

    0%{
        box-shadow: 0 0 0 0 rgba(37,211,102,.5);
    }

    70%{
        box-shadow: 0 0 0 16px rgba(37,211,102,0);
    }

    100%{
        box-shadow: 0 0 0 0 rgba(37,211,102,0);
    }

}
.whatsapp-float{
    overflow: visible;
}

.whatsapp-float span{

    position: absolute;
    right: 78px;

    white-space: nowrap;

    background: white;
    color: #141319;

    padding: .8rem 1.2rem;

    border-radius: 30px;

    font-family: "Inter", sans-serif;
    font-size: 1.4rem;

    opacity: 0;
    transform: translateX(10px);

    transition: .25s;

    pointer-events: none;

    box-shadow: 0 5px 18px rgba(0,0,0,.15);
}

.whatsapp-float:hover span{
    opacity: 1;
    transform: translateX(0);
}
/*-----------------------------------------------------*/
@media (max-width:768px){

    .navbarmio{

        display:flex;
        justify-content:space-between;
        align-items:center;

        position:relative;

        padding:0 20px;

    }

    .menu-toggle{
        display:block;
    }

    .nav-links{

        position:absolute;

        top:100%;
        left:0;
        width:100%;

        display:flex;
        flex-direction:column;

        background:#FAF8F8;

        gap:0;

        max-height:0;
        overflow:hidden;

        transition:.3s;

        box-shadow:0 8px 20px rgba(0,0,0,.08);

    }

    .nav-links li{
        width:100%;
    }

    .nav-links a{

        display:block;

        padding:18px 25px;

    }
    .nav-links.open{
        max-height:400px;
    }
    .hero-text h1{
        font-size: 1.8rem;
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .hero-text p{
        font-size:1.4rem;
        padding-left: 2rem;
        padding-right: 2rem;
    }
    a.hero-btn{
        bottom:30px;
        padding: .8rem 1.8rem;
        text-align: center;

    }
    .about-content{
        display: block;
        
    }
    .tx-final{
        font-size: 1.4rem;
    }
    .carousel-inner img{
    height:260px;
    }
    .primero{
        margin-left: 5rem;
        margin-right: 5rem;
    }
    .fn-e{
    display: grid;
    padding: 4rem;
    
}
    .btn-fin{
    justify-self:center;
    margin-top:1rem;
    background:#FF6F59;
    color:white;
    padding:1rem 2rem;
    }
    .tx-final{
    padding-bottom: 1rem;
    }
}
@media (max-width:768px){

    #myCarousel .item{
        height:320px;
    }

    #myCarousel .item img{
        width:100%;
        height:100%;
        object-fit:cover;
    }
    
}