html {
    scroll-behavior: smooth;
}



/* fallback */
@font-face {
    font-family: "Material Symbols Outlined";
    font-style: normal;
    font-weight: 400;

    src: url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v207/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOej.woff2) format("woff2");
}

.material-symbols-outlined {
    display: inline-block;

    font-family: "Material Symbols Outlined";
    font-size: 24px;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;
    line-height: 1;

    white-space: nowrap;
    letter-spacing: normal;
    text-transform: none;
    word-wrap: normal;

    direction: ltr;
    -webkit-font-feature-settings: "liga";
}


@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 400;
    font-stretch: normal;

    font-display: auto;
    src: url(fuentes/Nunito-normal-400.woff) format("woff");
    unicode-range: U+0-10FFFF;
}

@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 500;
    font-stretch: normal;

    font-display: auto;
    src: url(fuentes/Nunito-normal-500.woff) format("woff");
    unicode-range: U+0-10FFFF;
}

@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 700;
    font-stretch: normal;

    font-display: auto;
    src: url(fuentes/Nunito-normal-700.woff) format("woff");
    unicode-range: U+0-10FFFF;
}

@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 800;
    font-stretch: normal;

    font-display: auto;
    src: url(fuentes/Nunito-normal-800.woff) format("woff");
    unicode-range: U+0-10FFFF;
}



@font-face {
    font-family: Plain-Ultrathin;
    font-style: normal;
    font-weight: 400;

    font-display: auto;
    src: url(fuentes/Plain-Ultrathin.woff2) format("woff2"), url(fuentes/Plain-Ultrathin.woff) format("woff"), url(fuentes/Plain-Ultrathin.otf) format("opentype");
}
@font-face {
    font-family: Plain-Ultralight;
    font-style: normal;
    font-weight: 400;

    font-display: auto;
    src: url(fuentes/Plain-Ultralight.woff2) format("woff2"), url(fuentes/Plain-Ultralight.woff) format("woff"), url(fuentes/Plain-Ultralight.otf) format("opentype");
}
@font-face {
    font-family: Plain-Thin;
    font-style: normal;
    font-weight: 400;

    font-display: auto;
    src: url(fuentes/Plain-Thin.woff2) format("woff2"), url(recursos/fuentes/Plain-Thin.woff) format("woff"), url(recursos/fuentes/Plain-Thin.otf) format("opentype");
}
@font-face {
    font-family: Plain-Light;
    font-style: normal;
    font-weight: 400;

    font-display: auto;
    src: url(fuentes/Plain-Light.woff2) format("woff2"), url(recursos/fuentes/Plain-Light.woff) format("woff"), url(recursos/fuentes/Plain-Light.otf) format("opentype");
}

:root {
    --bs-border-color: #fff;
    --bs-border-color-oscuro: #222;
    --bs-border-opacity-oscuro: .25;
    --bs-border-style: solid;
    --bs-border-width: 1px;
    --header-color: var(--color-silver);
    --mm-max-size: 100%;
    --mm-min-size: calc( 100% - 100px );
    --mm-size: calc( 100% - 100px );
}


html {
    border: 0 !important;
}

body {
    font-family: "Nunito";
    font-size: 14.4px;
    font-weight: 500;
    line-height: 28px;

    letter-spacing: 1px;

    border: 0;
    background: white;
}


/* Tipografías */

p {
    margin-bottom: 0;
}
h1 {
    margin: 0;

    font-family: Plain-Ultrathin;
    font-size: 40px;
}

h1.estilo-h2 {
    margin: 0;
    margin-bottom: 30px;

    font-family: Plain-Ultralight;
    font-size: 2rem;
}
h2,
h3,
h4,
h5 {
    margin: 0;

    font-family: Plain-Ultralight;
}



.pre {
    margin-bottom: 15px;
}

h2 {
    margin-bottom: 15px;
}

h2.destacada {
    margin-bottom: 15px;

    font-size: 20px;
    font-weight: 600;
    line-height: 30px;

    letter-spacing: 4px;
    text-transform: uppercase;
}

h2.destacada.fondo {
    display: inline-flex;
    padding: 7px 15px 14px 15px;

    font-size: 20px;
    font-weight: 600;
    line-height: 30px;

    letter-spacing: 4px;
    text-transform: uppercase;

    border-radius: .375rem;
    background: white;
}


h1.titulos-paginas {
    display: inline-flex;
    padding: 7px 15px 14px 15px;
    margin: 0 auto;

    font-size: 35px;

    color: white;
    border-radius: .375rem;
    background: black;
}

h2.sobre-slide {
    padding: 7px 15px 14px 15px;

    font-size: 40px;

    color: black;
    border-radius: .375rem;
    background: rgb(232 226 226 / 79);
}

@media only screen and (max-width:992px) {
    h2.sobre-slide {
        font-size: 25px;
    }
}


h3.sobre-slide {
    display: inline-flex;
    padding: 8px 25px 8px 25px;

    font-size: 14px;
    font-weight: 600;
    line-height: 200%;

    text-align: center;
    letter-spacing: 4px;
    text-transform: uppercase;

    border-radius: .375rem;
    background: black;

    justify-content: center;
    justify-self: center;
}



section.portada h2.sobre-slide {
    padding-bottom: 0;

    font-weight: bold;

    letter-spacing: 2px;

    color: white;
    background: transparent;
}

section.portada h3.sobre-slide {
    color: white;
    background: transparent;
}


.small {
    font-size: 11px;
    font-weight: 700;
}

.pre {
    font-size: 13px;
    font-weight: 800;

    text-transform: uppercase;
}

.pre.small {
    font-size: 10px;
}

@media only screen and (max-width:992px) {
    h1 {
        font-size: 35px;
    }
}








ul {
    line-height: 36px;
}
.img-fluid {
    width: 100%;
    height: auto;
}

.container-fluid {
    padding: 0 60px;
}

@media only screen and (max-width:992px) {
    .container-fluid {
        padding: 0 15px;
    }
}

.pagina {
    padding-top: 100px;
    overflow-x: hidden;
}

@media only screen and (max-width:992px) {
    .pagina {
        padding-top: 70px;
    }
}
















/* Header */

header .logos-proyectos {
    height: auto;
    max-width: 200px;
}

header .logos-proyectos-mobile {
    width: 110px;
    height: auto;
}

header {
    position: fixed;
    z-index: 1000;

    height: 100px;

    transition: all ease 1.9s;

    background: transparent;
}
header.mobile {
    height: 70px;
}

header .mascara {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;

    height: 100%;

    background: linear-gradient(to bottom, rgba(0, 0, 0, .65) 0%, rgba(0, 0, 0, 0) 100%);
}



header.scrolled {
    background: black;
}

header ul {
    padding: 0;
    margin: 0;
}
header ul li {
    display: inline-block;
    padding: 0 10px;

    list-style: none;
}

header ul li a {
    font-size: 13px;
    font-weight: 700;

    text-decoration: none;
    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: white;
}

header ul li a.actual {
    border-bottom: 1px solid white;
}




/* Menu Mobile */



.hamburguesa {
    width: 20%;
    height: 70px;
    max-width: 100px;
    min-width: 70px;
}

mm-burger {
    color: white;
}

.mm-navbars--bottom {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
}


nav#menumobile li.destacado {
    font-weight: bold;

    color: #cd1b28;
}
.mm-wrapper--opened nav#menumobile {
    display: block;
}

/* Modales */

#modal {
    visibility: hidden;
}
.modal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20000;

    visibility: hidden;

    transition: opacity 1.5s ease;

    opacity: .9;
    background: #111;
}



.modal-overlay.fade-out {
    opacity: 0;
}

.modal-overlay.fade-in {
    opacity: 1;
}


#modal {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 20000;

    visibility: hidden;
    max-width: 700px;

    transform: translate(-50%, -50%);

    background: white;
}

.cerrar {
    position: absolute;
    top: 0;
    right: 0;

    display: flex;
    width: 60px;
    height: 60px;

    align-items: center;
    justify-content: center;
}
.cerrar:hover {
    cursor: pointer;
}
@media only screen and (max-width:992px) {
    #modal {
        width: calc(100dvw - 30px);
        max-height: calc(100% - 30px);
        overflow: scroll;
    }
}

@keyframes wipe-in-up {
    from {
        clip-path: inset(100% 0 0 0);
    }
    to {
        clip-path: inset(0 0 0 0);
    }
}

[transition-style="in:wipe:up"] {
    animation: 2.5s cubic-bezier(.25, 1, .30, 1) wipe-in-up both;
}


@keyframes wipe-out-down {
    from {
        clip-path: inset(0 0 0 0);
    }
    to {
        clip-path: inset(100% 0 0 0);
    }
}

[transition-style="out:wipe:down"] {
    animation: 2.5s cubic-bezier(.25, 1, .30, 1) wipe-out-down both;
}


/* Menu Flotante Inferior */

.menu-flotante {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;

    height: 70px;
    padding: 10px 0;

    color: white;
    background: rgb(17 17 17);
}









/* Generales */

.f-.button:focus-visible {
    outline: none;
    box-shadow: none;
}

.fancybox__content {
    padding: 0;
}


.for-iframe {
    position: relative;
}
.f-thumbs__slide__.button {
    position: relative;
}
.f-thumbs__slide.for-iframe .button::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;

    width: 30px; /* Ajusta el tamaño del icono según sea necesario */
    height: 30px;

    content: "";
    transform: translate(-50%, -50%);
    pointer-events: none; /* Asegura que el icono no interfiera con los clics */

    background: url("img/play.svg") no-repeat center center;
    background-size: contain;
}




.icono-play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;

    transform: translate(-50%, -50%);
}

.img-link {
    position: relative;
    z-index: 0;

    overflow: hidden;

    border-radius: .375rem;

    will-change: transform;
}

.img-link:focus-visible {
    outline: none;
}
.img-link img:not(.icono-play) {
    transition: transform .5s ease;
    transform-origin: center center;
}

.img-link:hover img:not(.icono-play) {
    cursor: pointer;
    transform: scale(1.1);
}


/* Swiper */

.swiper-pagination {
    position: relative;

    margin-top: 25px;
}


/* Etiquetas */


.etiqueta-n-fotos {
    position: absolute;
    right: 0;
    bottom: 0;
}

.etiqueta-n-fotos .etiqueta {
    padding: 3px 10px;

    font-size: 10px;

    text-transform: uppercase;

    color: white;
    border-top-left-radius: .375rem;
    background: rgb(50 52 54 / 72%);
}



.etiqueta-interior {
    display: inline-block;
    padding: 3px 10px;

    font-size: 12px;

    text-transform: uppercase;

    color: white;
    border-radius: .375rem;
}

.etiqueta-abajo {
    position: absolute;
    bottom: 0;
    left: 0;

    padding: 3px 10px;

    font-size: 10px;

    text-transform: uppercase;

    color: white;
    border-top-right-radius: 8px;
    background: rgba(0,0,0,.6);
}


.etiqueta-abajo-derecha {
    position: absolute;
    right: 0;
    bottom: 0;

    padding: 3px 10px;

    font-size: 10px;

    text-transform: uppercase;

    color: white;
    border-top-left-radius: 8px;
    background: rgba(0,0,0,.6);
}



.etiqueta-superior-derecha {
    position: absolute;
    top: 0;
    right: 0;

    padding: 3px 10px;

    font-size: 10px;

    text-transform: uppercase;

    color: white;
    border-top-left-radius: 8px;
    background: rgba(0,0,0,.6);
}




/* Secciones del sitio */


.bg-yellow {
    background: #ebcc09;
}

.bg-lightgrey {
    background: #e2e2e2;
}
.bg-lightblack {
    background: #222;
}


/* Miniaturas */
.miniatura-modelo .titulos {
    font-size: 18px;
    font-weight: 700;
}


section.especial .container-fluid-especial {
    position: relative;
    top: -50px;
    right: 0;
    left: 0;
    z-index: 100;

    width: calc(100% - 120px);
    min-height: 500px;

    background: white;
}

@media only screen and (max-width:992px) {
    section.especial .container-fluid {
        top: 0;

        width: 100%;
    }
}



section.portada {
    position: relative;

    width: 100%;
    height: calc(100svh - 70px);
    min-height: 800px;
    overflow: hidden;
}

section.portada .swiper .swiper-slide {
    width: 100%;
    height: calc(100svh - 70px);
    min-height: 100svh;
    overflow: hidden;
}

@media only screen and (max-width:992px) {
    section.portada .swiper .swiper-slide {
        height: auto;
    }
}



section.portada .mascara {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;

    min-height: 600px;

    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(0,0,0,.6615021008403361) 70%, rgba(0,0,0,.8323704481792717) 100%);
}

section.portada .swiper-slide img {
    height: 100%;

    object-fit: cover;
    object-position: bottom;
}


section.portada .contenido {
    position: absolute;
    right: 0;
    bottom: 160px;
    left: 0;
    z-index: 200;

    text-align: center;

    color: white;
}

section.portada .contenido-especial-mobile {
    bottom: 160px;
}

@media only screen and (max-width:992px) {
    section.portada .contenido-especial-mobile {
        bottom: 50px;
    }

    section.portada {
        height: 100%;

        background: black;
    }

    section.portada .swiper {
        height: 100%;
    }

    section.portada .swiper-slide img {
        width: 100%;
        height: auto;
    }
    section.portada .contenido {
        position: relative;
        bottom: unset;

        padding: 3rem 0;
    }
}




.swiper-galerias-sola {
    max-width: 1000px;
}


.swiper-galerias .swiper-pagination-bullet {
    background: white;
}


.flechas.fluid .swiper-button-next {
    right: 60px;
}
.flechas.fluid .swiper-button-prev {
    left: 60px;
}

.flechas-blancas .swiper-button-next,
.flechas-blancas .swiper-button-prev {
    color: white;
}


/* Aviso Legal */

.legal {
    display: none;

    font-size: 12px;
    line-height: 20px;

    color: grey;
}


/* Mapas */


.acf-map {
    width: 100%;
    height: 100%;
    min-height: 350px;

    background: grey;
}

.mapa-llegar {
    display: none;
}

.mapa-llegar img {
    max-height: 350px;
}




section.pagina-estilo-1 {
    height: calc(100svh - 70px);
    overflow: hidden;
}

@media only screen and (max-width:992px) {
    section.pagina-estilo-1 {
        height: auto;
    }
}
section.pagina-estilo-1 img.galeria {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


section.pagina-estilo-1 .columna {
    position: absolute;
    bottom: 0;
    left: 50%;

    width: calc(100% - 120px);
    padding: 30px 0;

    transform: translateX(-50%);

    border-top-left-radius: .375rem;
    border-top-right-radius: .375rem;
    background: white;
}


@media only screen and (max-width:1300px) {
    section.pagina-estilo-1 .columna {
        position: relative;
    }
}

@media only screen and (max-width:992px) {
    section.pagina-estilo-1 .columna {
        width: 100%;
        padding: 0;
    }
    section.pagina-estilo-1 img {
        max-height: 450px;
        min-height: 400px;

        object-fit: cover;
    }
}


section.fondo .bloque {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}


section.fondo img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}

section.fondo .mascara {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    background: rgba(0,0,0,.5);
}


section.fondo .hito {
    position: relative;

    padding: 0 30px;

    font-weight: 600;

    text-transform: uppercase;
}
section.fondo .hito .big {
    margin-bottom: 30px;

    font-family: Plain-UltraThin;
    font-size: 50px;
    font-weight: 400;
}
section.fondo .hito .big::before {
    content: "+";
}

section.fondo .hito.especial .big::before {
    padding-right: 7px;
}


section .titulos-seccion {
    padding-bottom: 30px;

    text-align: center;
}


@media only screen and (max-width:992px) {
    section .titulos-seccion {
        padding-top: 30px;
    }
}

.legal {
    display: none;

    font-size: 12px;
    line-height: 20px;

    color: grey;
}


section.box {
    margin: 0 60px;

    border-top-left-radius: .375rem;
    border-top-right-radius: .375rem;
}

@media only screen and (max-width:992px) {
    section.box {
        margin: 0 15px;
    }
}




.mascara-interior {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;

    height: 400px;

    pointer-events: none;

    background: linear-gradient(to bottom, rgba(33, 30, 33, .95) 0%, rgba(33, 30, 33, .6) 28%, rgba(33, 30, 33, 0) 100%);
}

@media only screen and (max-width:992px) {
    .mascara-interior {
        height: 300px;
    }
}


.swiper-galerias-internas .swiper-slide {
    position: relative;

    transition: transform .5s ease-in-out, opacity .5s ease-in-out;
    transform: scale(.9) !important;

    opacity: .8;
}
.swiper-galerias-internas .swiper-slide a:focus-visible {
    border: 0;
    outline: none;
}

.swiper-galerias-internas .swiper-slide.swiper-slide-active {
    transform: scale(1) !important;

    opacity: 1;
}




.swiper-galerias-internas .swiper-slide {
    position: relative;

    overflow: hidden;
}



/* Lista procesos */


ul.lista-procesos {
    position: relative;
}

ul.lista-procesos li {
    position: relative;

    display: flex;
    width: 16.6%;
    max-width: 180px;
    padding: 0 30px;

    list-style: none;

    justify-content: center;
}



ul.lista-procesos li::after {
    display: none;
}

ul.lista-procesos li span {
    position: absolute;
    bottom: 0;
    left: 50%;

    display: flex;
    width: 30px;
    height: 30px;

    font-weight: bold;

    transform: translateX(-50%);

    color: black;
    border-radius: 50%;
    background: #ebcc09;

    align-items: center;
    justify-content: center;
}

ul.lista-procesos li p {
    position: absolute;
    bottom: -70px;

    max-width: 140px;

    font-weight: bold;
    line-height: 16px;

    text-align: center;
}

ul.lista-procesos li:nth-child(n+2)::before {
    position: absolute;
    top: -15px;
    left: 0;

    width: 100%;
    height: 2px;

    content: "";

    background: #ebcc09;
}


ul.lista-procesos li:first-child::before {
    position: absolute;
    top: -15px;
    right: 0;

    width: 50%;
    height: 2px;

    content: "";

    background: #ebcc09;
}

ul.lista-procesos li:last-child::before {
    position: absolute;
    top: -15px;
    left: 0;

    width: 50%;
    height: 2px;

    content: "";

    background: #ebcc09;
}

ul.lista-procesos-mobile {
    position: relative;
}

ul.lista-procesos-mobile li {
    position: relative;

    list-style: none;

    text-align: center;
}


ul.lista-procesos-mobile li span {
    position: relative;
    bottom: 0;
    left: 0;

    display: flex;
    width: 30px;
    height: 30px;

    font-weight: bold;

    color: black;
    border-radius: 50%;
    background: #ebcc09;

    align-items: center;
    justify-content: center;
}




/* Lista de proyectos */

.lista-vertical .resultado {
    display: none;
}

ul.lista-vertical {
    padding: 0;
    margin: 0;
}

.lista-vertical li {
    padding: 5px 0;

    font-weight: bold;
    list-style: none;

    text-transform: uppercase;

    border-bottom: 1px solid transparent;
}
.lista-vertical li:hover {
    cursor: pointer;
}

.lista-vertical li.activo {
    border-bottom: 1px solid black;
}

.lista-vertical li::after {
    content: "" !important;
}

.lista-vertical-contenido {
    display: none;
}

.lista-vertical-contenido.activo {
    display: block;
}


/* Colaboradores */

.bloque-blanco {
    background: white;
    box-shadow: 10px 10px 113px -66px rgba(0, 0, 0, .75);
}


.etiqueta-boton {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;

    padding: 10px 15px;

    transform: translate(-50%, -50%);
    text-transform: uppercase;
    pointer-events: none;

    color: white;
    border-radius: .375rem;
}

.contenido-tab {
    display: none;
    padding: 30px;

    border-radius: .375rem;
}

.contenido-tab.activo {
    display: flex;
}



/* SAC */
.circulo {
    display: flex;
    width: 160px;
    height: 160px;

    transition: all .3s ease;

    border-radius: 50%;
    background: white;

    align-items: center;
    justify-content: center;
}

.circulo:hover {
    background: #003a8a;
}
.circulo a {
    display: flex;
    width: 150px;
    height: 150px;
    padding: 15px;

    font-size: 16px;
    font-weight: bold;
    line-height: 100%;

    transition: all .2s;

    color: #243250;
    border-radius: 50%;
    background: #ebcc09;

    align-items: center;
    justify-content: center;
}




/* Tabs */


.tabs {
    position: relative;

    display: flex;

    justify-content: center;
}


.tab {
    padding: 5px 0;
    margin: 0 30px;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
    text-transform: uppercase;

    color: #909090;
}

.sobre-claro .tab.active {
    color: black;
}
.tab.active {
    color: white;
}





@media only screen and (max-width:1199px) {
    .tab {
        margin: 0 15px;
    }
}


.linea {
    position: absolute;
    bottom: 0;
    z-index: 10;

    height: 2px;

    transition: all .3s ease;

    background: white;
}



.linea::after {
    position: absolute;
    bottom: -14px;
    left: 50%;
    z-index: -1;

    width: 0;
    height: 0;

    content: "";
    transform: translateX(-50%);

    border-width: 8px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    background: transparent;
}

.tabs.sobre-claro .linea::after {
    border-color: #000 transparent transparent transparent;
}




.tab {
    position: relative;
}


.tabs.sobre-claro .tab::after {
    background: black;
}

.tabs.sobre-claro .linea {
    border-color: #000 transparent transparent transparent;
    background: black;
}




.tab-contenido {
    display: none;
}

.tab-contenido.xs {
    max-width: 1500px;
    margin: 0 auto;
}
#contenido-0 {
    display: block; /* Hace que el contenido de la primera tab esté visible por defecto*/
}



/* Avisos Popup */


.popup:focus,
.popup:focus-visible,
.popup a:focus,
.popup a:focus-visible {
    border: 0;
    outline: none;
}


.popup img:focus {
    outline: none;
}

/* Grillas Galerías */

.galerias-grilla {
    height: 580px;
}

.galerias-grilla img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}



@media only screen and (max-width:1399px) {
    .galerias-grilla {
        height: 380px;
    }
}

.columna-1 {
    display: grid;
    float: left;
    width: 500px;
    height: 100%;

    gap: 5px;
    grid-template-areas: "label0 label1"
    "label2 label2";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}

.columna-1 .item-0 {
    grid-area: label0;
}
.columna-1 .item-1 {
    grid-area: label1;
}
.columna-1 .item-2 {
    grid-area: label2;
}



.columna-2 {
    display: grid;
    float: left;
    width: 250px;
    height: 100%;
    margin-left: 5px;

    gap: 5px;
    grid-template-areas: "label0"
    "label1";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr;
}
.columna-2 .item-3 {
    grid-area: label0;
}
.columna-2 .item-4 {
    grid-area: label1;
}


.columna-3 {
    display: grid;
    float: left;
    width: 250px;
    height: 100%;
    height: 100%;
    margin-left: 5px;

    gap: 5px;
    grid-template-areas: "label0"
    "label1"
    "label2";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr;
}

.columna-3 .item-5 {
    grid-area: label0;
}
.columna-3 .item-6 {
    grid-area: label1;
}
.columna-3 .item-7 {
    grid-area: label2;
}


/* Lista Barrios */



.listas-barrios {
    max-width: 1200px;
    margin: 0 auto;
}
.listas-barrios .pre {
    position: relative;
}
.listas-barrios ul {
    padding: 0;
    margin: 0;
}

.listas-barrios ul li {
    display: inline-block;
    padding: 0 5px !important;
    margin: 0;
}



.listas-barrios ul li::after {
    content: "" !important;
}


.listas-barrios .numero-casas {
    padding: 0 15px 0 15px;

    color: white;
    border-top-right-radius: .375rem;
}
.listas-barrios .titulos-especiales {
    display: flex;
    padding: 0 5px;
    padding: 0 15px;

    line-height: 22px;

    color: black;
    border-top-left-radius: .375rem;
    background: white;

    align-items: center;
    justify-content: center;
}



.lista ul {
    padding: 15px;

    border-radius: .375rem;
    background: #d3d2d2;
}


/* Ajustes especiales */
@media only screen and (max-width:992px) {
    section#pilotos .tab-contenido {
        padding: 0 15px;
    }
}




.mm-listitem:after {
    position: absolute;
    bottom: 0;

    display: block;

    content: "";

    border-color: inherit;
    border-bottom-width: 0;
    border-bottom-style: solid;

    inset-inline-end: 20px;
    inset-inline-start: 20px;
}


ul li {
    position: relative;

    list-style: none;
}

#menumobile ul {
    padding: 0;
    margin: 0;
}
.mm-listitem {
    position: relative;

    display: -ms-flexbox;
    display: flex;
    padding: 0;
    margin: 0;
    margin-bottom: 10px;

    color: var(--mm-color-text);
    border-color: var(--mm-color-border);
    background: #fbfbfb;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.mm-menu a,
.mm-menu a:active,
.mm-menu a:hover,
.mm-menu a:link,
.mm-menu a:visited {
    font-size: 12px;
    font-weight: 700;

    text-decoration: none;
    text-transform: uppercase;

    color: inherit;
}


ul li:not(:is(header ul li, #menumobile ul li, ul.lista-procesos-mobile li))::after {
    position: absolute;
    top: -1px;
    left: -20px;

    width: 10px;
    height: 10px;

    font-family: "Material Symbols Outlined";
    font-size: 14px;

    content: "\e5ca";

    opacity: .7;
    color: grey;
}


.destacado {
    font-size: 17px;
    font-weight: 700;

    text-transform: uppercase;
}

.separador {
    width: 1px;
    height: 100%;

    background-color: #fff; /* Cambia el color según tus necesidades */
}

.botones {
    position: absolute;
    bottom: 30px;
    left: 50%;
    z-index: 1;

    transform: translateX(-50%);
}




/* Iframes */


section.iframes {
    width: 100%;
    height: 100svh;
    overflow: hidden;

    background: grey;
}

section.iframes iframe {
    width: 100%;
    height: 100svh;
    overflow: hidden;
}

header.iframes {
    position: absolute;
    top: 25px;
    right: 0;
    left: 0;
    z-index: 9999999;

    height: 100px;

    background: transparent;
}


.video-fondo {
    border-top-left-radius: .375rem;
}

@media only screen and (max-width:992px) {
    .video-fondo {
        width: 100%;

        border-radius: 0;

        aspect-ratio: 16 / 9;
    }
}

@media only screen and (max-width)



#menu-mobile a {
    color: white !important;
}
#menu-mobile {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2000;

    height: 70px;

    font-weight: 700;

    user-select: none;

    opacity: .95;
}
#menu-mobile ul {
    padding: 0;
    margin: 0;
}
#menu-mobile .menu-mobile- {
    position: relative;
    z-index: 2;
}

#menu-mobile li {
    background: #151515;
}
#menu-mobile li.boton-menu,
#menu-mobile li.boton-menu a {
    width: 100%;
    height: 70px;
    padding: 0 3px;
    overflow: hidden;

    font-size: 10px;
    font-weight: 500;
    line-height: 14px;
    list-style: none;

    text-align: center;
    text-align: center;
    white-space: normal;
    letter-spacing: .5px;
    text-transform: uppercase;

    color: white;
}
#menu-mobile li.boton-menu:hover {
    cursor: pointer;
}
#menu-mobile li.boton-menu.on {
    transition: all .2s;

    color: white !important;
    background: #060606 !important;
}
#menu-mobile li.boton-menu.on img.icon {
    opacity: 1;
}
#menu-mobile li.boton-menu .icon {
    max-width: 20px;

    opacity: .3;

    filter: invert(100%);
}
#menu-mobile li.boton-menu div > div {
    display: flex;
    height: 25px;

    align-items: center;
}
#menu-mobile .menu-mobile- li {
    box-shadow: 0 20px 50px rgba(0, 0, 0, .8);
}
#menu-mobile li.boton-opciones-menu span {
    transition: all .2s;
    transform: rotate(180deg);
}
#menu-mobile li.boton-opciones-menu.activo span {
    transition: all .2s;
    transform: rotate(0deg);
}
#menu-mobile li.boton-opciones-menu.desactivo span {
    transition: all .2s;
    transform: rotate(180deg);
}

#menu-mobile li.boton-cotizar-menu {
    color: white;
    background: #003a8a;
}
#menu-mobile li.boton-cotizar-menu .icon {
    opacity: 1;
}

#menu-mobile li.boton-whatsapp-menu {
    color: white;
    background: #4db84d;
}

#menu-mobile li.boton-whatsapp-menu .icon {
    opacity: 1;
}

#menu-mobile .mas-opciones {
    position: absolute;
    right: 0;
    bottom: 57px;
    z-index: 1;

    visibility: hidden;
    max-height: 240px;

    line-height: 9px;

    opacity: 0;
}

#menu-mobile .mas-opciones li.boton-menu {
    height: 80px;

    background: #060606 !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .8);

    backface-visibility: hidden;
}
#menu-mobile .mas-opciones li.boton-menu:first-child {
    border-top-left-radius: 10px;
}
#menu-mobile .mas-opciones.mostrar li.boton-menu {
    transform: translateY(240px);
    animation: mostrar .8s forwards;
}



#menu-mobile .mostrar {
    visibility: visible;

    opacity: 1;

    backface-visibility: hidden;
}


@keyframes mostrar {
    to {
        transform: translateY(0);

        opacity: 1 !important;
    }
}


#menu-mobile .ocultar {
    visibility: visible;

    transform: translateY(0px);
    animation: ocultar .8s forwards;

    opacity: 1;
}




@keyframes ocultar {
    to {
        visibility: hidden;

        transform: translateY(240px);
    }
}


@media only screen and (min-width:991px) {
    #menu-mobile {
        display: none;
    }
}

.swiper-iframe-especial {
    height: 100svh;
}
.swiper-iframe-especial img {
    height: 100%;

    object-fit: cover;
}

.swiper-iframe-especial .swiper-pagination {
    position: absolute;
    bottom: 30px;

    padding: 0 15px;

    border-radius: .375rem;
    background: white;
}

.swiper-iframe-especial .swiper-pagination .swiper-pagination-bullet {
    margin-top: 15px;
}


.parrafos h2,
.parrafos h3 {
    margin-top: 30px;
    margin-bottom: 30px;
}


img.aligncenter {
    display: block;
    margin: 0 auto;

    text-align: center;
}




/* Update */
.etiquetas-slides {
    position: relative;
    bottom: -30px;

    display: inline-table;
    padding: 4px 6px;

    font-size: 10px;
    font-weight: normal;

    opacity: .4;
    color: white;
    border-radius: .375rem;
    background: rgba(0,0,0,.5);
}

.etiquetas-slides.mobile {
    position: absolute;
    right: 15px;
    bottom: 10px;
    left: 15px;
    z-index: 201;

    display: flex;

    line-height: 15px;

    opacity: .8;

    justify-content: center;
}

.etiqueta-interior-contenedor {
    width: 60%;
    padding: 7px 30px 7px 30px;
    margin: 0 auto;

    font-weight: bold;

    text-align: center;
    text-transform: uppercase;

    color: white;
    border-top-left-radius: .375rem;
    border-top-right-radius: .375rem;
    background: #111;
}



section.ampliamiento {
    background: rgb(170, 170, 170);
    background: linear-gradient(180deg, rgb(232 232 232) 0%, rgba(255, 255, 255, .7567401960784313) 49%, rgba(255, 255, 255, .8323704481792717) 100%);
}





.etiqueta-agotada {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;

    display: inline-block;

    font-size: 11px;
    font-weight: bold;

    transform: translateX(50%) translateY(-50%) rotate(45deg);
    transform-origin: center;
    text-transform: uppercase;

    color: white;
}

.etiqueta-agotada::before {
    display: block;
    height: 0;
    padding-top: 100%;

    content: "";
}

.etiqueta-agotada > span {
    display: inline-block;
    padding: 6px 45px;

    font-size: 12px;
    font-weight: bold;

    transform: translateY(-50%);
    text-align: center;
    white-space: nowrap;
    letter-spacing: 1.2px;
    text-transform: uppercase;

    color: white;
    background: red;
}

.agotada button {
    cursor: not-allowed;
    pointer-events: none;

    opacity: .5;
}

.agotada a {
    cursor: not-allowed;
    pointer-events: none;
}

.etiqueta-nueva {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;

    padding: 2px 15px;

    font-weight: bold;

    letter-spacing: 1.2px;
    text-transform: uppercase;

    color: white;
    border-top-left-radius: .375rem;
    border-bottom-right-radius: .375rem;
}


.info-iconos {
    font-size: 11px;
}

.info-iconos .pre {
    font-size: 10px;
}

.bloques-pilotos {
    padding: 30px;

    background: #222;
}

.bg-fondo .img-link {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
