h3 {
    line-height: 1.2;
}

body,
.body {
    color: #383838;
    font-family: Roboto, sans-serif;
    font-weight: 400;
}

.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.button-hover-image .button-hover-image-st1 {
    display: block;
}

.button-hover-image .button-hover-image-st2 {
    display: none;
}

.button-hover-image:hover .button-hover-image-st1 {
    display: none;
}

.button-hover-image:hover .button-hover-image-st2 {
    display: block;
}

.swiper-container {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    /* Alinea los logos verticalmente en el centro */
}

.swiper-wrapper {
    display: flex;
    align-items: center;
}

.swiper-slide {
    width: auto;
    /* Deja que el slide tenga el ancho de su contenido (el logo) */
    display: flex;
    justify-content: center;
    align-items: center;
}

.thumbs-swiper .swiper-slide {
    width: auto;
    /* Deja que el slide tenga el ancho de su contenido (el logo) */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0.3;
}

.thumbs-swiper .swiper-slide img {
    max-width: 100%;
    height: 80px;
    /* Ajusta el tamaño de los logos según la altura de la pantalla */
}

.thumbs-swiper .swiper-slide:hover {
    opacity: 1;
}

.w-webflow-badge {
    display: none !important;
}

.follower {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 10;
    pointer-events: none;
    /* Para que no interfiera con el hover */
    transition: opacity 0.2s;
}

.hover-area:hover .follower {
    opacity: 1;
    /* Mostrar imagen al hacer hover */
}

.galeria {
    transition: transform 0.5s ease-in-out;
    transform: translate3d(0, 100vh, 0);
}

.galeria.galeria-cs-show {
    transform: translate3d(0, 0, 0);
}

.icono {
    display: block;
    margin: 10px auto;
    width: 150px;
    transition: transform 0.2s ease-out;
    transform-style: preserve-3d;
    transform-origin: center;
    /* Asegura que la rotación ocurra desde el centro */
}

.projects-page .navbar-desktop-navlist-link,
.services-page .navbar-desktop-navlist-link,
.about-page .navbar-desktop-navlist-link,
.contact-page .navbar-desktop-navlist-link {
    color: #2F2E2E;
}

.navbar-desktop-logo img,
.navbar-movil-logo img {
    content: url(https://grupoas.mx/img/logo-dark.svg);
}

.navbar-movil-toggler img {
    content: url(https://grupoas.mx/img/nav-toggler-dark.svg);
}

body.white-nav .navbar-desktop-navlist-link {
    color: #FFFFFF;
}

body.white-nav .navbar-desktop-logo img {
    content: url(https://grupoas.mx/img/logo.svg);
}

.pagination-controls-numbers a {
    color: #010101;
    text-decoration: none;
}

.hero-with-award-image {
    position: relative;
}

.hero-with-award-image-wp {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.close-modal-button {
    grid-column-gap: 10px;
    color: #fff;
    background-color: #010101;
    border: .756312px solid #010101;
    border-radius: 3.02525px;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    padding: 6px 37px;
    font-family: Roboto, sans-serif;
    font-size: 14px;
    text-decoration: none;
    display: flex;
}

.close-modal-button:hover {
    color: #010101;
    background-color: #c8c6c6;
}

.modal {
    position: relative;
    display: flex;
    align-items: center;
}

.modal .close-modal-button {
    position: absolute;
    top: 10px;
    right: 10px;
}

.pagination-controls-numbers {
    display: flex;
}

.pagination-controls-button-disabled {
    padding: 2px 17px;
}

.navbar-desktop-menu-wrapper {
    transform: translate(0, 80px);
}

.frame-39581 {
    grid-row-gap: 23px;
}

.frame-39586 {
    grid-row-gap: 23px;
}

.menu-link {
    display: flex;
    align-items: center;
}

.menu-link:after {
    content: '';
    opacity: 0;
    display: block;
    width: 47px;
    height: 45px;
    background: url(https://grupoas.mx/img/menu-link-arrow.svg) no-repeat center center;
}

.menu-link span {
    border-bottom: 1px solid transparent;
}

.menu-link:hover::after {
    opacity: 1;
}

.menu-link:hover span {
    border-bottom-color: #FFFFFF;
}

.menu-social-link:hover {
    color: #FFFFFF;
    opacity: 1;
}

/* Estilos para el modal de imagen ampliada */
.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(14, 14, 14, 0.8);
    backdrop-filter: blur(11.85px);
}

.modal img {
    display: block;
    margin: 5% auto;
    max-width: 90%;
    max-height: 90%;
}

.container-lg-centered-xs-full {
    width: 100%;
    max-width: 1440px;
    padding-left: 20px;
    padding-right: 20px;
    position: static;
}

.container-lg-centered-xs-full.navbar-desktop-container {
    position: relative;
}

.services-contact {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 165px;
    padding-bottom: 195px;
}

.services-contact-button {
    grid-column-gap: 38px;
    grid-row-gap: 38px;
    border-bottom: 0 #000;
    align-items: center;
    margin-top: 117px;
    text-decoration: none;
    display: flex;
}

.services-contact-button-text {
    border: 0 #000;
    font-family: Roboto, sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 26px;
    text-decoration: none;
}


.services-contact-button-text-line {
    background-color: #242320;
    width: 100%;
    height: 1px;
}

.services-contact-button-text-wp {
    grid-column-gap: 5px;
    grid-row-gap: 5px;
    color: #242320;
    text-decoration: none;
}

.services-contact-img {
    object-fit: cover;
}

.services-contact-image-wp {
    width: 600px;
    height: 674px;
}

.services-contact-cols {
    justify-content: space-between;
    align-items: center;
    padding-left: 80px;
    padding-right: 80px;
}

.services-contact-title {
    text-transform: uppercase;
    font-size: 36px;
    font-weight: 400;
    line-height: 40px;
}

.services-contact-line {
    background-color: #777;
    width: 100%;
    height: 1px;
    margin-top: 66px;
}

.services-contact-title-wp {
    max-width: 420px;
}

.slide-up-blur-base-lg-stagger {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(500px);
}

.bottom-contact-btn {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 12px 20px;
    border-radius: 4px;
    font-weight: 400;
}

.button-clip {
    background: black;
    transform: perspective(1px) translateZ(0);
    color: white;
    transition: 0.4s;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(.86, .01, .15, .99);
}

.button-clip-alt .button-clip-alt-wp {
    width: 41px;
    height: 41px;
    background: #000000;
    transform: perspective(1px) translateZ(0);
    transition: 0.4s;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(.86, .01, .15, .99);
    display: flex;
    justify-content: center;
    align-items: center;
}

.button-clip-alt .button-clip-alt-wp-md {
    width: 55px;
    height: 55px;
}

.button-clip-alt .button-clip-alt-wp-white {
    background: #ffffff;
}

.button-clip-alt .button-clip-alt-wp::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0;
    background: #C8C6C6;
    clip-path: inset(0 100% 0 0);
    opacity: 1;
    transition: 0.4s;
}

.button-clip-alt:hover .button-clip-alt-wp::before {
    clip-path: inset(0 0 0 0);
}

.button-clip-alt:hover .button-clip-alt-wp img {
    content: url("https://grupoas.mx/img/button-arrow-black.svg");
}

.button-clip:hover,
.button-clip:hover * {
    color: black;
}

.button-clip:hover img {
    content: url("https://grupoas.mx/img/button-arrow-black.svg");
}

.button-clip::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0;
    background: #C8C6C6;
    clip-path: inset(0 100% 0 0);
    opacity: 1;
    transition: 0.4s;
}

.button-clip:hover::before {
    clip-path: inset(0 0 0 0);
}

.footer-links-right {
    grid-column-gap: 47%;
}

@media screen and (max-width: 1025px) {
    .slide-up-blur-base-lg-stagger {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
    }

    .container-lg-centered-xs-full {
        padding-left: 0;
        padding-right: 0;
    }

    .services-contact-button-text,
    .services-contact-button-text-wp {
        font-size: 26px;
        line-height: 30px;
    }

    .services-contact {
        padding-bottom: 253px;
    }

    .services-contact-img {
        width: 100%;
        height: 100%;
    }

    .services-contact-image-wp {
        width: 100%;
        height: 348px;
        position: relative;
        overflow: hidden;
    }

    .services-contact-cols {
        flex-flow: column;
        padding-left: 0;
        padding-right: 0;
    }

    .services-contact-col-right {
        margin-top: 93px;
    }

    .services-contact-title {
        font-size: 23px;
        line-height: 27px;
    }

    .services-contact-button-icon-img {
        width: 100%;
        max-width: 100%;
        height: 100%;
    }

    .services-contact-button-icon {
        width: 35px;
        height: 35px;
        position: relative;
    }
}


.d-none {
    display: none;
}

.transform-text-animation {
    transform: none;
}

.accordion-item-head {
    padding-bottom: 0;
}

.accordion-item-body {
    margin-top: 40px;
}

.accordion-component-item-anim .accordion-item-body {
    transform: translateY(-500px);
    height: 0;
    transition: 0.5s;
}

.accordion-component-item-anim.active .accordion-item-body {
    transform: translateY(0);
    height: auto;
}

.accordion-component-item-anim.active .accordion-icon img {
    content: url("https://grupoas.mx/img/accordion-minus.svg");
}

.rotating-texts {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rotating-texts .rotating-text {
    /* display: flex; */
    color: rgba(255, 255, 255, 0.20);
    font-size: 16px;
    font-weight: 300;
    line-height: 20px;
    text-transform: uppercase;
    white-space: nowrap;
}

.sticky {
    position: sticky;
    top: 0;
}

.proyecto-main-gallery-item.proyecto-main-gallery-item-1 {
    width: 100%;
}

.proyecto-details-inner-body {
    align-items: flex-start;
}

.proyecto-details-inner-body ul {
    padding-left: 20px;
}

@media (max-width: 1024px) {

    .nav-movil {
        padding-top: 30px;
        display: none;
    }

    .container-9 {
        padding-left: 20px;
        padding-right: 20px;
    }

    .flex-block-25 {
        justify-content: flex-start;
        height: 100vh;
    }

    .nav-movil-head {
        border-top: 1px #000;
        border-bottom: 1px solid #000;
        border-left: 1px #000;
        border-right: 1px #595959;
        width: 100%;
        margin-bottom: 80px;
    }

    .nav-movil-body {
        width: 100%;
    }

    .nav-modal-foot {
        width: 100%;
    }

    .hero-container {
        max-width: none;
    }

    .navbar-desktop-wrapper {
        display: none;
    }

    .navbar-movil-wrapper {
        display: flex;
    }

    .navbar-movil-inner {
        justify-content: space-between;
        align-items: center;
        display: flex;
    }

    .flex-block-12,
    .filosofia-imagenes {
        flex-flow: column;
    }

    .filosofia-imagenes {
        grid-row-gap: 200px;
    }

    .filosofia-imagenes .filosofia-1-img-wp img {
        /* max-width: 542px; */
    }

    .filosofia-imagenes .filosofia-2-img-wp img {
        /* max-width: 800px; */
    }
}

.services-contact-cols {
    flex-direction: column;
}

@media (min-width: 991px) {
    .rotating-texts {
        gap: 47px;
    }

    .rotating-texts .rotating-text {
        font-size: 50px;
        line-height: 54px;
    }

    .d-none {
        display: initial
    }

    .d-lg-none {
        display: none;
    }

    .trascienden-animation {
        display: inline-flex;
        /* transform: scale(0.2);
        opacity: 0.2; */
    }

    .transform-text-animation {
        filter: blur(100px);
    }

    .slide-up-blur-base-lg {
        opacity: 0;
        transform: translateY(-10px);
        filter: blur(10px);
    }

    .pagination-controls-button-disabled {
        padding: 6px 37px;
    }

    .thumbs-swiper .swiper-slide {
        width: 233px;
    }

    .thumbs-swiper .swiper-slide img {
        height: auto;
        /* Ajusta el tamaño de los logos según la altura de la pantalla */
    }
}

@media (min-width: 430px) {
    .footer-links-right {
        grid-column-gap: 200px;
    }
}


@media (min-width: 1025px) {
    .proyecto-main-gallery-item.proyecto-main-gallery-item-1 {
        width: 976px;
    }

    .services-contact-cols {
        flex-direction: row;
    }
}