h2{
    color: black;
    font-size: 2.8rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}
#myCarousel{
    position: relative;
}
/*Div superpuesto al carrusel*/
.carousel-overlay{
    position: absolute;
    inset: 0;
    /*display: flex;
    justify-content: center;*/
    pointer-events: none;
    align-items: center;
    background: rgba(0,0,0,.35);
    z-index: 2;
}
.hero-text{
    position:absolute;
    top:45%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    color:white;
    width:min(90%,900px);
}
.hero-text p{
    font-weight: 200;
    font-size: clamp(2rem, 5vw, 2.8rem);
    text-shadow: 0 2px 8px rgba(0,0,0,.4);
}
.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-btn{
    /*display: inline-block;*/
    position:absolute;
    left:50%;
    pointer-events: auto; 
    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;
}
/*---Elementos carrusel-----*/
.carousel-inner img{
    width: 100%;
    height: 75vh;
    object-fit: cover;
}
/*---Responsive intermedio para el carrusel-----*/
@media (min-width: 769px) and (max-width: 950px){
    .hero-btn{
        bottom: 2rem;
    }
    .hero-text h1{
        font-size: clamp(1rem, 5vw, 2rem);
    }
    .hero-text p{
        font-size: clamp(1rem, 5vw, 1.8rem);
    }
}
/*------1. Productos galeria-------------------*/
.primero{
    justify-content: center;
    margin-left: 10rem;
    margin-right: 10rem;
    margin-top: .4rem;
}
div.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.gallery-item a{
    position: relative;
    display: block;
}
.gallery-item{
    overflow: hidden;
    width: 38rem;
    margin: .5rem;
}
.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:hover a::after{
    background: rgba(0,0,0,.15);
}
/*-----2. Servicios Galeria-------------------*/
.servicios{
    padding-top: 2rem;
}
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);
}
/*------3.Trabajos realizados Galeria-------------------*/
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;
}
/*btn ver galeria*/
.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
}
/*---------4.Sobre nosotros-----------*/
.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;
}
@media (min-width: 769px) and (max-width: 950px){
    .tx-final{
        font-size: 2.4rem;
    }
}
.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;
}
/*-----------------------------------------------------*/
@media (max-width:768px){

    .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;
    }
    
}