/* CONTENEDOR LOGROS*/
.contenedor-logros {
    padding: 0 var(--page-sides);
}

.contenedor-logros .center-r {
    display: grid;
    grid-template-columns: auto 397px;
    align-items: center;

    & > img {
        width: 100%;
        height: 100%;
    }
}

.contenedor-logros .center-r > div {
    display: grid;
    grid-template-rows: repeat(2, auto);
    gap: 64px;
}

.logros-texto {
    & h3 {
        margin-bottom: 17px;
        font-size: 40px;
        color: #083d29;
    }

    & h2 {
        font-size: 20px;
        color: #757575;
    }
}

.logros-cifras {
    display: grid;
    grid-template-columns: repeat(2, auto);
    column-gap: 30px;
    row-gap: 53px;
}

.logros-cifras .logro {
    display: flex;
    align-items: flex-end;
    gap: 20px;

    & img {
        width: 70px;
        height: 70px;
    }
}

.logros-cifras .logro .logro-texto {
    line-height: 30px;
    color: #000000;

    & h3 {
        font-size: 40px;
    }

    & h2 {
        font-size: 20px;
    }
}
/* END-CONTENEDOR LOGROS*/

/* CONTAINER SERVICIOS */
.cs-pd {
    padding: 0 var(--page-sides);
}

.container-servicios .center-r {
    margin-top: 90px;
    padding-bottom: 112px;

    & .texto-servicio {
        font-size: 40px;
        text-align: center;
        color: #083d29;
    }
}

.services {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 14px;
    row-gap: 38px;
    margin-top: 67px;
}

.services .servicio-item {
    width: 344px;
    height: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    position: relative;
    border-radius: 16px;
    overflow: hidden;

    & img {
        width: 100%;
        height: 100%;
        position: absolute;
    }

    & .texto-sobre-imagen {
        font-size: 20px;
        text-align: center;
        color: #ffffff;
    }

    & .boton-sobre-imagen {
        width: 122px;
        margin-bottom: 45px;
        color: white;
        transition: transform .2s ease-in-out;
    }
    & .texto-sobre-imagen, .boton-sobre-imagen {
        z-index: 1;
    }

    &:hover > a {
        transform: scale(1.2);
    }
}

.services .servicio-item::after {
    content: "";
    width: 100%;
    height: 216px;
    position: absolute;
    background: linear-gradient(180deg,
        rgba(255, 255, 255, 0) 8.65%,
        rgba(8, 61, 41, 0.22) 28.41%,
        rgba(8, 61, 41, 0.625) 56.45%,
        rgba(8, 61, 41, 0.75) 79.59%);
    transition: height .2s ease-in-out;
}

.services .servicio-item:hover::after {
    height: 316px;
}

.carrusel-wrapper{
    overflow: hidden;
    width: 100%;
    position: relative;
}

.services-car{
    display: flex;
    gap: 14px;
    animation: scrollCarrusel 10s linear infinite;
    flex-wrap: nowrap;
    width: max-content;
    animation-timing-function: linear;
    will-change: transform;
    overflow: hidden;
}

.services-car .servicio-item {
    min-width: 360px;
    height: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    flex: 0 0 360px;

    & img {
        width: 100%;
        height: 100%;
        position: absolute;
    }

    & .texto-sobre-imagen {
        font-size: 20px;
        text-align: center;
        color: #ffffff;
    }

    & .boton-sobre-imagen {
        width: 122px;
        margin-bottom: 45px;
        color: white;
        transition: transform .2s ease-in-out;
    }
    & .texto-sobre-imagen, .boton-sobre-imagen {
        z-index: 1;
    }

    &:hover > a {
        transform: scale(1.2);
    }
}

.services-car .servicio-item::after {
    content: "";
    width: 100%;
    height: 216px;
    position: absolute;
    background: linear-gradient(180deg,
        rgba(255, 255, 255, 0) 8.65%,
        rgba(8, 61, 41, 0.22) 28.41%,
        rgba(8, 61, 41, 0.625) 56.45%,
        rgba(8, 61, 41, 0.75) 79.59%);
    transition: height .2s ease-in-out;
}

.services-car .servicio-item:hover::after {
    height: 316px;
}


@keyframes scrollCarrusel{
    0%{
        transform: translateX(0);
    }

    100%{
        transform: translateX(-50%);
    }
}
/* END-CONTAINER SERVICIOS */

/* CONTAINER FORMULARIO */
.container-formulario {
    height: 1217px;
    position: relative;

}

.container-formulario .cf-img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;

    & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right;
    }
}

.container-formulario > div:first-child {
    position: relative;
    padding: 120px var(--page-sides) 43px;
    z-index: 1;
}

.formulario-texto {
    max-width: 611px;
    position: relative;

    & .titulo-contacto {
        font-size: 40px;
        text-align:center;
        color: #083d29;
        margin-right: -90px;
    }
}

.formulario-texto .form label textarea {
    width: 100%;
    height: 100px;
    padding: 12px 16px;
    border: none;
    background-color: #ffffff;
    border-radius: 8px;
    font-weight: 400;
    color: #666666;
    resize: vertical;
    grid-column: span 2;
}

.formulario-texto .form{
    display: grid;
    gap: 24px;
    margin-top: 22px;
    padding: 24px;
    background-color: #009951;
    border-radius: 8px;
    color: #1e1e1e;
    grid-template-columns: 1fr 1fr;
    width: 700px;

    & label {
        font-weight: 400;
    }

    & label:not(.terms) input, label select {
        width: 100%;
        height: 40px;
        margin-top: 8px;
        padding: 12px 16px;
        border: none;
        background-color: #ffffff;
        border-radius: 8px;
        font-weight: 400;
        color:#666666
    }

    & #mensaje-error {
        text-align: center;
    }

    & button {
        height: 44px;
        border: none;
        background-color: #ffffff;
        border-radius: inherit;
        font-size: 20px;
        color: #02542d;
        cursor: pointer;
    }
}

.formulario-texto .form .terms {
    justify-self: left;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;

    & input {
        width: 16px;
        height: 16px;
        appearance: none;
        border: 2px solid #2c2c2c;
        border-radius: 5px;

        &:checked {
            background-color: #2c2c2c;
        }
    }
}


.formulario-texto .form label[for="mensaje"],
.formulario-texto .form .terms,
.formulario-texto .form #mensaje-error,
.formulario-texto .form button {
    grid-column: span 2;
}

#mensaje {
    height: 100px;
    resize: vertical;
}

.formulario-texto .form .terms::before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    left: 2.5px;
    transform: translateY(-50%);
    background-color: #009951;
    clip-path: polygon(
        0% 60%,
        10% 70%,
        35% 100%,
        95% 20%,
        85% 10%, 
        35% 85%, 
        10% 55%
    );
}

/* END-CONTAINER FORMULARIO */

/*Boton */

.zona-boton-footer{
    position: relative;
    height: 0px;
}

.container-boton{
    position: absolute;
    bottom: -40px;
    left:51%;
    transform: translateX(-50%);
    z-index:20
}

.container-boton a{
    width: 50px;
    cursor: pointer;
}

.solo-celular{
    display: none;
}


/* ===================== MEDIA QUERIES PARA CELULARES ===================== */
@media screen and (max-width: 844px) {
    /* Logros */
    .contenedor-logros {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        /*padding: 0px 0;*/
        text-align: left;
        box-sizing: border-box;
        height: auto;
    }
    .container-formulario > div:first-child {
        padding: 0 var(--page-sides);
    }

    .solo-celular{
        display: block;
    }

    .contenedor-logros .logros-texto h3 {
        font-size: 20px;
    }

    .container-servicios .center-r {
    margin-top: 90px;
    padding-bottom: 112px;

    & .texto-servicio {
        font-size: 20px;
        text-align: center;
        color: #083d29;
    }
    }

    .contenedor-logros .logros-texto h2 {
        font-size: 16px;
    }

    .contenedor-logros .logros-cifras {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px 48px;
        width: 100%;
        margin-top: 32px;
    }
    .contenedor-logros img {
        width: 100%;
        max-width: 220px;
        height: auto;
        display: block;
        margin: 0 auto;
    }

    .logros-cifras .logro {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 18px;
        justify-content: flex-start;
    }
    

    .logros-cifras .logro .logro-texto h3 {
        font-size: 28px;
    }

    .logros-cifras .logro .logro-texto h2 {
        font-size: 10px;
    }

    /* Botón flotante footer */
    .container-boton {
        bottom: -30px;
        left: 50%;
        transform: translateX(-50%);
    }

    .services .servicio-item {
    width: 270px;
    height: 288px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    position: relative;
    border-radius: 16px;
    overflow: hidden;

    & img {
        width: 100%;
        height: 100%;
        position: absolute;
    }

    & .texto-sobre-imagen {
        font-size: 16px;
        text-align: center;
        color: #ffffff;
    }


    }
 }