*{
    box-sizing: border-box;
}
#TitlePage{
    position: relative;
    top: -8vh;
    text-align: center;
    background-image: url(/img/portada6.jpeg);
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
}
.TitlePageTransparency{
    position: absolute;
    bottom: 0%;
    width: 100%;
    height: 60%;
    background-image: linear-gradient(to bottom, rgba(26, 26, 26,0), rgb(26, 26, 26,0.75) 55%,rgb(26, 26, 26,1) 95%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 0px;
}
.transparencyContent2{
    margin-bottom: 20px;

}
.Title{
    font-family: "Oswald", sans-serif;
    color: white;
    font-weight: 470;
    font-size: clamp(4rem, 7vw, 6.5rem);
    line-height: 1.1;
    margin-bottom: 20px;
}
.Subtitle{
    color: rgb(255, 255, 255);
    margin-bottom: 20px;
    line-height: 1.1;
}
.getQuote-hero{
    background-color: #e4e3df;
    color: #129d49;
    padding: 8px 40px;
    border-radius: 18px;
    font-size: 1.5rem;
    font-weight: 700;
    width: fit-content;
    margin: 0 auto 10px auto;
    text-decoration: none;
}
.transparencyContent2 a{
    text-decoration: none;
}
#card-conteiner{
    display: flex;
    flex-wrap: wrap;
}
.card{
    display: flex;
    flex-direction: column;
    align-items: center;
    /* background-color: #9e9a8b; */
    background-color: #9e9a8b;
    margin: 20px auto 10px auto;
    border-radius: 25px;
    box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.3), 0 6px 20px 0 rgba(0, 0, 0, 0.3);
    border-style: none;
    animation: appear  linear;
    animation-timeline:view();
    animation-range: entry 0% cover 40%;
}
.imageCard{
overflow: hidden;
height: 300px;
margin: 10px;
border-radius: 20px;
transition: box-shadow 0.8s,transform 0.8s;
}
.imageCard:hover{
    box-shadow: 1px 1px 20px 0 rgb(255, 255, 255);
    transform: scale(1.02,1.02);
}
.descriptionCard{
    width: 100%;
    height: 176px;
    background-color: #9e9a8b;
}
.titleCard{
    width: 90%;
    background-color: #9e9a8b;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    height: 50px;
    text-transform: uppercase;
}
.titleCard h2{
    margin-top: 40px;
    color: #32374b;
}
.card ul{
    text-align: start;
    color: rgb(34, 34, 34);
    font-size: 1.2em;
    line-height: 1.2;
    margin: 2%;
}
.card a {
    color: #cdd4f0;
    text-decoration: none;
}
.card a:hover{
    color: rgb(255, 255, 255);
}

#Reviews, #Why-us, #Areas{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}
#Reviews{
    background-color: #78776b;
    color: rgb(207, 196, 196);
}
.reviewDescription{
    width: 60%;
    align-items: center;
    align-self: center;
}
.reviewDescription h1{
    color: #fdfdfd;
}
.reviewGoogle{
    overflow: hidden;
    width: 40%;
    text-align: left;
    border-radius: 10px;
}
#aboutUs{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#Why-us video{
    margin-top: 30px;
    width: 100%;
    border-radius: 20px;
}
.counters{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
#projectsCounter, #yearsCounter{
    box-shadow: 6px 6px 20px -1px rgb(122, 119, 116), -6px -6px 20px -1px rgb(252, 246, 240);
    padding: 20px 0;
    border-radius: 25px;
}
.counter{
    font-family: "Quantico";
    font-size: 4rem;
    font-weight: 700;
}
.areas{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: start;
  margin-bottom: 20px;
}
.area{
  background-color: #ffffff;
  color: #292929;
  padding: 4px 10px;
  border-radius: 10px;
  margin: 5px;
  /* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */
}
.map{
    width: 100%;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.banner-contact{
    background: linear-gradient(
    135deg,
    rgba(129, 241, 177, 0.3),
    rgba(231, 235, 222, 0.3)
  );
    padding: 50px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 40px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}
.buttons-contact{
    display: flex;
}
#get-quote-banner, #call-us-banner{
    /* margin: 20px; */
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
     padding: 12px 20px;
}
#socials a{
    font-size: 3em;
    margin: 0 30px 0 0;
    color: black;
}
.schedule{
    font-family: sans-serif;
    font-size: 20px;
}
.floating-call-button {
    opacity: 0;
    display: flex;
    position: fixed;
    bottom: 20px;
    right: 2%; /* Match the right padding of the nav */
    width: 65px; /* Increased by 15px */
    height: 65px; /* Increased by 15px */
    background-color: rgba(178, 165, 159, 0.706);
    border: 2px solid rgb(156, 144, 138);
    border-radius: 18px;

    backdrop-filter: blur(16px);
    z-index: 10;
    color: #f1f0eb;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    font-size: 25px; /* Adjust font size for larger button */
    z-index: 1000;
}

/* Estilos para el carrusel de servicios */
#carrusel-service {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin: 40px auto;
    width: 100%;
}

.carousel-wrapper {
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    position: relative;
}

.carousel-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: auto;
    padding: 20px 0;
}

.carousel-card {
    min-width: 250px;
    width: 260px;
    height: 260px;
    background-color: #e4e3df;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    position: relative;
    flex-shrink: 0;
    margin: 0 10px;
}

.card-icon {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 40px;
    color: #129d49;
    width: 70px;
    height: 70px;
}
.card-icon img {
    width: 100%;

}
.carousel-card h2 {
    margin-top: 70px;
    font-size: clamp(2rem, 5vw, 2.2rem);
}
.carousel-track a {
    color: #edf1ff;
    text-decoration: none;
    font-size: clamp(2rem, 5vw, 2.2rem);
}

#link-carousel:hover {
    box-shadow: 1px 1px 20px 0 rgb(255, 255, 255);
    transform: scale(1.02,1.02);
}

.carousel-btn {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background-color: #9e9a8b00;
    color: #464c5f62;
    border: 2px solid #9e9a8b00;
    border-radius: 50%;
    font-size: 9rem;
    font-weight: 400;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease, border-color 0.3s ease;
    /* backdrop-filter: blur(10px); */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;


}

.carousel-btn:hover {
    transform: translateY(-50%) scale(1.1);
}

.carousel-btn:active {
    transform: translateY(-50%) scale(0.95);
}

.carousel-btn-prev {
    left: 15px;
}

.carousel-btn-next {
    right: 15px;
}

/* Animacion para las tarjetas de servicios. */
@keyframes appear{
    from{
        opacity: 0;
        scale: 0.5;
    }
    to{
        opacity: 1;
        scale: 1;
    }
}
/* Extra small devices (phones, 576px and down) */
@media (max-width: 576px) {
    #TitlePage{
        height: 94vh;
        background-position: bottom left;
    }
    .TitlePageTransparency{
        padding: 0 auto;
    }
    .card{
        width: 360px;
        height: 500px;
        margin-bottom: 20px;
    }
    .counters{
        grid-template-columns: 1fr;
    }

    .reviewDescription,.reviewGoogle{
        width: 100%;
        font-size: 1em;
    }
    #projectsCounter, #yearsCounter{
        width: 90%;
        margin: 0 auto;
    }
    .text-section,.content-section{
        width: 100%;
    }
    .buttons-contact{
        flex-direction: column;
        gap: 5px;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    #TitlePage{
        background-position:top center;
    }
    .card{
        width: 350px;
        height: 500px;
        margin-bottom: 20px;
    }
    .reviewDescription,.reviewGoogle{
        width: 100%;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    #TitlePage{
        top: -7vh;
        height: 100vh;
        background-position: bottom left;
    }
    .Title{
        font-size: 5.5rem;
        font-weight: 700;
    }
    .Subtitle{
        font-size: 1.3em;
    }
    .card{
        width: 340px;
        height: 500px;
    }
    .text-section,.content-section{
        width: 100%;
    }
    .buttons-contact{
        flex-direction: row;
        gap: 20px;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    #TitlePage{
        top: -13vh;
        background-image: url(/img/portada-desk2.png);
    }
    .TitlePageTransparency{
        height: 65%;
    }

    .Title{
        margin-top: 65px;
        font-size: 3.5rem;
    }
    .Subtitle{
        font-size: 1.5em;
    }
    .card{
        width: 340px;
        height: 500px;
    }
    .text-section,.content-section{
    width: 50%;
    }
    #Why-us p{
        padding-right: 30px;
    }
    .counters{
        padding-right: 20px;
    }
    .reviewDescription,.reviewGoogle{
        width: 100%;
    }
    #Areas{
        flex-direction: row-reverse;
        justify-content: flex-end;
    }
    #Areas .text-section{
        text-align: end;
    }
    #Areas .areas{
        justify-content: end;
    }
    .content-section{
        padding-top: 50px;
    }
    .banner-contact{
        padding: 80px 40px;
    }
    .buttons-contact{
        flex-direction: row;
        gap: 20px;
    }

}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
#TitlePage{
        top: -8.5vh;
     }
.Title{
        margin-top: 140px;
        font-size: 4.4rem;
    }
    .card{
        width: 360px;
        height: 500px;
        margin-bottom: 30px;
    }
    .reviewDescription{
        width: 50%;

    }
    .reviewGoogle{
        width: 45%;
    }
 }

 /* XX-Large devices (larger desktops, 1400px and up)*/
 @media (min-width: 1400px) {
     #TitlePage{
        top: -7.4vh;
     }
    .Title{
        font-size: 6.5rem;
        font-weight:600;
    }
    .Subtitle{
        font-size: 1.8em;
    }
    .card{
        width: 360px;
        height: 500px;
        margin-bottom: 50px;
    }
    #Why-us .text-section{
        padding-right: 30px;
    }
    .content-section{
        padding-top: 10px;
    }
    .content-section iframe{
        /* width: 95%; */
        height: 580px;
    }
 }
